[][src]Macro wide::const_i32_as_i32x4

macro_rules! const_i32_as_i32x4 {
    ($(#[$attrs:meta])* $v:vis $i:ident, $val:expr) => { ... };
    ($(#[$attrs:meta])* $v:vis $i:ident, $a:expr, $b:expr, $c:expr, $d:expr) => { ... };
}

Declares an i32x4 const identifier.

Broadcast A Single Value

  • Usage: const_i32_as_i32x4!(#[meta]* vis ident, val);

The value should be a single i32 expression, which is then duplicated into all lanes of the constant declaration.

use wide::*;
const_i32_as_i32x4!(
  /// The maximum `i32` value
  pub MAX, core::i32::MAX
);

Select Each Lane

  • Usage: const_i32_as_i32x4!(#[meta]* vis ident, a, b, c, d);

Each of a, b, c, and d are an i32 expression when are then placed into the constant declaration (low lane to high lane).

use wide::*;
const_i32_as_i32x4!(
  /// 1, 2, 3, 4
  pub ONE_TWO_THREE_FOUR, 1, 2, 3, 4
);