Struct core::simd::Simd[][src]

#[repr(simd)]
pub struct Simd<T, const LANES: usize>(_)
where
    T: SimdElement,
    LaneCount<LANES>: SupportedLaneCount
;
🔬 This is a nightly-only experimental API. (portable_simd #86656)
Expand description

T 类型的 LANES 元素的 SIMD vector。

Implementations

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装加法。返回 vector 的 lane 总和,带包装加法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 包装乘法。返回 vector 的 lane 的乘积,带包装乘法。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 加法。返回 vector 的 lane 的总和。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 乘法。返回 vector 的 lanes 的乘积。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

返回基于相等的值,因此包含 0.-0. 的 vector 可以返回任意一个值。 这个函数不会返回 NaN,除非所有的 lane 都是 NaN

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

返回基于相等的值,因此包含 0.-0. 的 vector 可以返回任意一个值。 这个函数不会返回 NaN,除非所有的 lane 都是 NaN

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 加法。返回 vector 的 lane 的总和。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 乘法。返回 vector 的 lanes 的乘积。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最大值。返回 vector 中的最大 lane。

返回基于相等的值,因此包含 0.-0. 的 vector 可以返回任意一个值。 这个函数不会返回 NaN,除非所有的 lane 都是 NaN

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 最小值。返回 vector 中的最小 lane。

返回基于相等的值,因此包含 0.-0. 的 vector 可以返回任意一个值。 这个函数不会返回 NaN,除非所有的 lane 都是 NaN

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 按位与。 返回跨 vector lane 的累积按位与。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 按位或。 返回跨 vector lane 的累积按位或。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Horizontal 按位异或。 返回跨 vector lane 的累积按位异或。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

反转 vector 中 lanes 的顺序。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

旋转 vector,使切片的第一个 OFFSET 元素移动到末尾,而最后一个 LANES - OFFSET 元素移动到前面。

调用 rotate_lanes_left 后,先前在 OFFSET lane 中的元素将成为该 lane 中的第一个元素。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

旋转 vector,使 vector 的第一个 LANES - OFFSET 元素移动到末尾,而最后一个 OFFSET 元素移动到前面。

调用 rotate_lanes_right 后,之前位于索引 LANES - OFFSET 的元素将成为切片中的第一个元素。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

交错两个 vectors。

产生两个 vectors,其中 lanes 交替取自 selfother

第一个结果包含来自 selfother 的第一个 LANES / 2 lanes,交替地从 self 的第一个 lane 开始。

第二个结果包含来自 selfother 的最后一个 LANES / 2 lanes,交替,从 self 开始的 lane LANES / 2 开始。

#![feature(portable_simd)]
let a = Simd::from_array([0, 1, 2, 3]);
let b = Simd::from_array([4, 5, 6, 7]);
let (x, y) = a.interleave(b);
assert_eq!(x.to_array(), [0, 4, 1, 5]);
assert_eq!(y.to_array(), [2, 6, 3, 7]);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

去交错两个 vectors。

第一个结果取 self 的每隔一个 lane,然后是 other,从第一个 lane 开始。

第二个结果取 self 的每隔一个 lane,然后是 other,从第二个 lane 开始。

#![feature(portable_simd)]
let a = Simd::from_array([0, 4, 1, 5]);
let b = Simd::from_array([2, 6, 3, 7]);
let (x, y) = a.deinterleave(b);
assert_eq!(x.to_array(), [0, 1, 2, 3]);
assert_eq!(y.to_array(), [4, 5, 6, 7]);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

测试每个 lane 是否等于 other 中对应的 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

测试每个 lane 是否不等于 other 中对应的 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

测试每个 lane 是否小于 other 中对应的 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

测试每个 lane 是否大于 other 中对应的 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

测试每个 lane 是否小于或等于 other 中对应的 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

测试每个 lane 是否大于或等于 other 中对应的 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([1, 0, MAX, MAX - 1]));
assert_eq!(sat, max);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([3, 2, 1, 0]));
assert_eq!(sat, Simd::splat(0));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([1, 0, MAX, MAX - 1]));
assert_eq!(sat, max);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([3, 2, 1, 0]));
assert_eq!(sat, Simd::splat(0));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([1, 0, MAX, MAX - 1]));
assert_eq!(sat, max);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([3, 2, 1, 0]));
assert_eq!(sat, Simd::splat(0));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([1, 0, MAX, MAX - 1]));
assert_eq!(sat, max);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([3, 2, 1, 0]));
assert_eq!(sat, Simd::splat(0));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([1, 0, MAX, MAX - 1]));
assert_eq!(sat, max);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([2, 1, 0, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([3, 2, 1, 0]));
assert_eq!(sat, Simd::splat(0));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([MIN, 0, 1, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([-1, MAX, MIN, -2]));
assert_eq!(sat, Simd::from_array([-1, MAX, MAX, MAX]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([MIN, -2, -1, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([1, MAX, MIN, 0]));
assert_eq!(sat, Simd::from_array([MIN, MIN, MIN, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 绝对值,在 Rust 中实现。 每个 lane 都成为它的绝对值。

Examples
let xs = Simd::from_array([MIN, MIN +1, -5, 0]);
assert_eq!(xs.abs(), Simd::from_array([MIN, MAX, 5, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和绝对值,在 Rust 中实现。 作为 abs(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let xs = Simd::from_array([MIN, -2, 0, 3]);
let unsat = xs.abs();
let sat = xs.saturating_abs();
assert_eq!(unsat, Simd::from_array([MIN, 2, 0, 3]));
assert_eq!(sat, Simd::from_array([MAX, 2, 0, 3]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和否定,在 Rust 中实现。 作为 neg(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let x = Simd::from_array([MIN, -2, 3, MAX]);
let unsat = -x;
let sat = x.saturating_neg();
assert_eq!(unsat, Simd::from_array([MIN, 2, -3, MIN + 1]));
assert_eq!(sat, Simd::from_array([MAX, 2, -3, MIN + 1]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([MIN, 0, 1, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([-1, MAX, MIN, -2]));
assert_eq!(sat, Simd::from_array([-1, MAX, MAX, MAX]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([MIN, -2, -1, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([1, MAX, MIN, 0]));
assert_eq!(sat, Simd::from_array([MIN, MIN, MIN, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 绝对值,在 Rust 中实现。 每个 lane 都成为它的绝对值。

Examples
let xs = Simd::from_array([MIN, MIN +1, -5, 0]);
assert_eq!(xs.abs(), Simd::from_array([MIN, MAX, 5, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和绝对值,在 Rust 中实现。 作为 abs(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let xs = Simd::from_array([MIN, -2, 0, 3]);
let unsat = xs.abs();
let sat = xs.saturating_abs();
assert_eq!(unsat, Simd::from_array([MIN, 2, 0, 3]));
assert_eq!(sat, Simd::from_array([MAX, 2, 0, 3]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和否定,在 Rust 中实现。 作为 neg(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let x = Simd::from_array([MIN, -2, 3, MAX]);
let unsat = -x;
let sat = x.saturating_neg();
assert_eq!(unsat, Simd::from_array([MIN, 2, -3, MIN + 1]));
assert_eq!(sat, Simd::from_array([MAX, 2, -3, MIN + 1]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([MIN, 0, 1, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([-1, MAX, MIN, -2]));
assert_eq!(sat, Simd::from_array([-1, MAX, MAX, MAX]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([MIN, -2, -1, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([1, MAX, MIN, 0]));
assert_eq!(sat, Simd::from_array([MIN, MIN, MIN, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 绝对值,在 Rust 中实现。 每个 lane 都成为它的绝对值。

Examples
let xs = Simd::from_array([MIN, MIN +1, -5, 0]);
assert_eq!(xs.abs(), Simd::from_array([MIN, MAX, 5, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和绝对值,在 Rust 中实现。 作为 abs(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let xs = Simd::from_array([MIN, -2, 0, 3]);
let unsat = xs.abs();
let sat = xs.saturating_abs();
assert_eq!(unsat, Simd::from_array([MIN, 2, 0, 3]));
assert_eq!(sat, Simd::from_array([MAX, 2, 0, 3]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和否定,在 Rust 中实现。 作为 neg(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let x = Simd::from_array([MIN, -2, 3, MAX]);
let unsat = -x;
let sat = x.saturating_neg();
assert_eq!(unsat, Simd::from_array([MIN, 2, -3, MIN + 1]));
assert_eq!(sat, Simd::from_array([MAX, 2, -3, MIN + 1]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([MIN, 0, 1, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([-1, MAX, MIN, -2]));
assert_eq!(sat, Simd::from_array([-1, MAX, MAX, MAX]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([MIN, -2, -1, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([1, MAX, MIN, 0]));
assert_eq!(sat, Simd::from_array([MIN, MIN, MIN, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 绝对值,在 Rust 中实现。 每个 lane 都成为它的绝对值。

Examples
let xs = Simd::from_array([MIN, MIN +1, -5, 0]);
assert_eq!(xs.abs(), Simd::from_array([MIN, MAX, 5, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和绝对值,在 Rust 中实现。 作为 abs(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let xs = Simd::from_array([MIN, -2, 0, 3]);
let unsat = xs.abs();
let sat = xs.saturating_abs();
assert_eq!(unsat, Simd::from_array([MIN, 2, 0, 3]));
assert_eq!(sat, Simd::from_array([MAX, 2, 0, 3]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和否定,在 Rust 中实现。 作为 neg(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let x = Simd::from_array([MIN, -2, 3, MAX]);
let unsat = -x;
let sat = x.saturating_neg();
assert_eq!(unsat, Simd::from_array([MIN, 2, -3, MIN + 1]));
assert_eq!(sat, Simd::from_array([MAX, 2, -3, MIN + 1]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和加法。

Examples
let x = Simd::from_array([MIN, 0, 1, MAX]);
let max = Simd::splat(MAX);
let unsat = x + max;
let sat = x.saturating_add(max);
assert_eq!(unsat, Simd::from_array([-1, MAX, MIN, -2]));
assert_eq!(sat, Simd::from_array([-1, MAX, MAX, MAX]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和减法。

Examples
let x = Simd::from_array([MIN, -2, -1, MAX]);
let max = Simd::splat(MAX);
let unsat = x - max;
let sat = x.saturating_sub(max);
assert_eq!(unsat, Simd::from_array([1, MAX, MIN, 0]));
assert_eq!(sat, Simd::from_array([MIN, MIN, MIN, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 绝对值,在 Rust 中实现。 每个 lane 都成为它的绝对值。

Examples
let xs = Simd::from_array([MIN, MIN +1, -5, 0]);
assert_eq!(xs.abs(), Simd::from_array([MIN, MAX, 5, 0]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和绝对值,在 Rust 中实现。 作为 abs(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let xs = Simd::from_array([MIN, -2, 0, 3]);
let unsat = xs.abs();
let sat = xs.saturating_abs();
assert_eq!(unsat, Simd::from_array([MIN, 2, 0, 3]));
assert_eq!(sat, Simd::from_array([MAX, 2, 0, 3]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

Lanewise 饱和否定,在 Rust 中实现。 作为 neg(),除了 MIN 值变为 MAX 而不是它本身。

Examples
let x = Simd::from_array([MIN, -2, 3, MAX]);
let unsat = -x;
let sat = x.saturating_neg();
assert_eq!(unsat, Simd::from_array([MIN, 2, -3, MIN + 1]));
assert_eq!(sat, Simd::from_array([MAX, 2, -3, MIN + 1]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

向零舍入并转换为等宽整数类型,假设该值是有限的并且适合该类型。

Safety

该值必须:

  • 不是 NaN
  • 不是无限的
  • 在截断其小数部分后,可以在返回类型中表示
🔬 This is a nightly-only experimental API. (portable_simd #86656)

从整数 vector 创建一个浮点 vector。 舍入不能完全表示的值。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

向零舍入并转换为等宽整数类型,假设该值是有限的并且适合该类型。

Safety

该值必须:

  • 不是 NaN
  • 不是无限的
  • 在截断其小数部分后,可以在返回类型中表示
🔬 This is a nightly-only experimental API. (portable_simd #86656)

从整数 vector 创建一个浮点 vector。 舍入不能完全表示的值。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

原始转换为无符号整数 vector 类型,其大小和数量与 lanes 相同。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

来自具有相同大小和数量的 lanes 的无符号整数 vector 类型的原始变换。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

生成一个 vector,其中每个 lane 都具有 self 中等效索引 lane 的绝对值。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

获取每个 lane 的倒数 (inverse),1/x

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将每个 lane 从弧度转换为度数。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将每个 lane 从度数转换为弧度。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 具有正号,则为每个 lane 返回 true,包括 +0.0、具有正符号位的 NaN 和正无穷大。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 具有负号,则为每个 lane 返回 true,包括 -0.0、具有负符号位的 NaN 和负无穷大。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值为 NaN,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值是正无穷大或负无穷大,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值既不是无穷大也不是 NaN,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值为 subnormal,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值既不是零、无穷大、subnormal 或 NaN,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

用代表其符号的数字替换每个 lane。

  • 1.0 如果数字是正数,+0.0INFINITY
  • -1.0 如果数字是负数,-0.0NEG_INFINITY
  • NAN 如果数字是 NAN
🔬 This is a nightly-only experimental API. (portable_simd #86656)

self 的大小和 sign 的符号返回每个 lane。

如果任何 lane 是 NAN,则返回带有 sign 符号的 NAN

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回每个 lane 的最小值。

如果其中一个值为 NAN,则返回另一个值。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回每个 lane 的最大值。

如果其中一个值为 NAN,则返回另一个值。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将每个 lane 限制在一定的区间内,除非它是 NaN。

对于 self 中的每个 lane,如果 lane 大于 max,则返回 max 中对应的 lane,如果 lane 小于 min,则返回 min 中对应的 lane。 否则返回 self 中的 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

原始转换为无符号整数 vector 类型,其大小和数量与 lanes 相同。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

来自具有相同大小和数量的 lanes 的无符号整数 vector 类型的原始变换。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

生成一个 vector,其中每个 lane 都具有 self 中等效索引 lane 的绝对值。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

获取每个 lane 的倒数 (inverse),1/x

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将每个 lane 从弧度转换为度数。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将每个 lane 从度数转换为弧度。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 具有正号,则为每个 lane 返回 true,包括 +0.0、具有正符号位的 NaN 和正无穷大。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 具有负号,则为每个 lane 返回 true,包括 -0.0、具有负符号位的 NaN 和负无穷大。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值为 NaN,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值是正无穷大或负无穷大,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值既不是无穷大也不是 NaN,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值为 subnormal,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

如果每个 lane 的值既不是零、无穷大、subnormal 或 NaN,则为每个 lane 返回 true。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

用代表其符号的数字替换每个 lane。

  • 1.0 如果数字是正数,+0.0INFINITY
  • -1.0 如果数字是负数,-0.0NEG_INFINITY
  • NAN 如果数字是 NAN
🔬 This is a nightly-only experimental API. (portable_simd #86656)

self 的大小和 sign 的符号返回每个 lane。

如果任何 lane 是 NAN,则返回带有 sign 符号的 NAN

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回每个 lane 的最小值。

如果其中一个值为 NAN,则返回另一个值。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回每个 lane 的最大值。

如果其中一个值为 NAN,则返回另一个值。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将每个 lane 限制在一定的区间内,除非它是 NaN。

对于 self 中的每个 lane,如果 lane 大于 max,则返回 max 中对应的 lane,如果 lane 小于 min,则返回 min 中对应的 lane。 否则返回 self 中的 lane。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个正 lane 返回真,如果为零或负则返回假。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个负 lane 返回 true,如果为零或正则返回 false。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回代表每个 lane 符号的数字。

  • 0 如果数字为零
  • 1 如果数字是正数
  • -1 如果数字是负数
🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个正 lane 返回真,如果为零或负则返回假。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个负 lane 返回 true,如果为零或正则返回 false。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回代表每个 lane 符号的数字。

  • 0 如果数字为零
  • 1 如果数字是正数
  • -1 如果数字是负数
🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个正 lane 返回真,如果为零或负则返回假。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个负 lane 返回 true,如果为零或正则返回 false。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回代表每个 lane 符号的数字。

  • 0 如果数字为零
  • 1 如果数字是正数
  • -1 如果数字是负数
🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个正 lane 返回真,如果为零或负则返回假。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个负 lane 返回 true,如果为零或正则返回 false。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回代表每个 lane 符号的数字。

  • 0 如果数字为零
  • 1 如果数字是正数
  • -1 如果数字是负数
🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个正 lane 返回真,如果为零或负则返回假。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

对于每个负 lane 返回 true,如果为零或正则返回 false。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回代表每个 lane 符号的数字。

  • 0 如果数字为零
  • 1 如果数字是正数
  • -1 如果数字是负数
🔬 This is a nightly-only experimental API. (portable_simd #86656)

此 vector 中 lanes 的数量。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

获取此 vector 中 lanes 的数量。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

通过将所有 lane 设置为给定值来构建 SIMD vector。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回包含整个 SIMD vector 的数组引用。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

返回一个包含整个 SIMD vector 的可变数组引用。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将数组转换为 SIMD vector。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将 SIMD vector 转换为数组。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

将切片转换为包含 slice[..LANES] 的 SIMD vector

Panics

如果切片的 len 小于 vector 的 Simd::LANES,则 from_slice 会出现 panic。

🔬 This is a nightly-only experimental API. (portable_simd #86656)

slice 中可能不连续的索引读取以构建 SIMD vector。 如果索引越界,则改为从 or vector 中选择 lane。

Examples
let vec: Vec<i32> = vec![10, 11, 12, 13, 14, 15, 16, 17, 18];
let idxs = Simd::from_array([9, 3, 0, 5]);
let alt = Simd::from_array([-5, -4, -3, -2]);

let result = Simd::gather_or(&vec, idxs, alt); // 注意越界的 lane。
assert_eq!(result, Simd::from_array([-5, 13, 10, 15]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

slice 中可能不连续的索引读取以构建 SIMD vector。 如果索引越界,则 lane 将设置为该类型的默认值。

Examples
let vec: Vec<i32> = vec![10, 11, 12, 13, 14, 15, 16, 17, 18];
let idxs = Simd::from_array([9, 3, 0, 5]);

let result = Simd::gather_or_default(&vec, idxs); // 注意越界的 lane。
assert_eq!(result, Simd::from_array([0, 13, 10, 15]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

slice 中可能不连续的索引读取以构建 SIMD vector。 掩码 enable 所有 true lane 并禁用所有 false lane。 如果索引被禁用或越界,则从 or vector 中选择 lane。

Examples
let vec: Vec<i32> = vec![10, 11, 12, 13, 14, 15, 16, 17, 18];
let idxs = Simd::from_array([9, 3, 0, 5]);
let alt = Simd::from_array([-5, -4, -3, -2]);
let enable = Mask::from_array([true, true, true, false]); // 注意最后一个 lane 的掩码。

let result = Simd::gather_select(&vec, enable, idxs, alt); // 注意越界的 lane。
assert_eq!(result, Simd::from_array([-5, 13, 10, -2]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

slice 中可能不连续的索引读取以构建 SIMD vector。 掩码 enable 所有 true lane 并禁用所有 false lane。 如果禁用某个索引,则从 or vector 中选择 lane。

Safety

使用 enabled 越界索引调用这个函数是 未定义的行为,即使结果值没有被使用。

Examples
let vec: Vec<i32> = vec![10, 11, 12, 13, 14, 15, 16, 17, 18];
let idxs = Simd::from_array([9, 3, 0, 5]);
let alt = Simd::from_array([-5, -4, -3, -2]);
let enable = Mask::from_array([true, true, true, false]); // 注意最后的掩码 lane。
// 如果用这个掩码来收集,这是不合理的。让我们解决这个问题。
let enable = enable & idxs.lanes_lt(Simd::splat(vec.len()));

// 我们已经屏蔽了 OOB lane,所以现在可以安全收集了。
let result = unsafe { Simd::gather_select_unchecked(&vec, enable, idxs, alt) };
assert_eq!(result, Simd::from_array([-5, 13, 10, -2]));
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

将 SIMD vector 中的值写入 slice 中可能不连续的索引。 如果分散的 vector 中的两个 lanes 将写入相同的索引,则只能保证实际写入最后一个 lane。

Examples
let mut vec: Vec<i32> = vec![10, 11, 12, 13, 14, 15, 16, 17, 18];
let idxs = Simd::from_array([9, 3, 0, 0]);
let vals = Simd::from_array([-27, 82, -41, 124]);

vals.scatter(&mut vec, idxs); // 索引 0 接收两次写入。
assert_eq!(vec, vec![124, 11, 12, 82, 14, 15, 16, 17, 18]);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

将 SIMD vector 中的值写入 slice 中的多个可能不连续的索引。 掩码 enable 所有 true lane 并禁用所有 false lane。 如果启用的索引越界,则不会写入 lane。 如果分散的 vector 中的两个启用的 lanes 将写入同一个索引,则只能保证实际写入最后一个 lane。

Examples
let mut vec: Vec<i32> = vec![10, 11, 12, 13, 14, 15, 16, 17, 18];
let idxs = Simd::from_array([9, 3, 0, 0]);
let vals = Simd::from_array([-27, 82, -41, 124]);
let enable = Mask::from_array([true, true, true, false]); // 注意最后一个 lane 的掩码。

vals.scatter_select(&mut vec, enable, idxs); // 索引 0 的第二次写入被屏蔽,因此被省略。
assert_eq!(vec, vec![-41, 11, 12, 82, 14, 15, 16, 17, 18]);
Run
🔬 This is a nightly-only experimental API. (portable_simd #86656)

将 SIMD vector 中的值写入 slice 中的多个可能不连续的索引。 掩码 enable 所有 true lane 并禁用所有 false lane。 如果分散的 vector 中的两个启用的 lanes 将写入同一个索引,则只能保证实际写入最后一个 lane。

Safety

使用启用的越界索引调用此函数是 [undefined 行为],并可能导致内存损坏。

Examples
let mut vec: Vec<i32> = vec![10, 11, 12, 13, 14, 15, 16, 17, 18];
let idxs = Simd::from_array([9, 3, 0, 0]);
let vals = Simd::from_array([-27, 82, -41, 124]);
let enable = Mask::from_array([true, true, true, false]); // 注意最后一个 lane 的掩码。
// 如果用这个掩码来分散,这是不合理的。让我们解决这个问题。
let enable = enable & idxs.lanes_lt(Simd::splat(vec.len()));

// 我们已经屏蔽了 OOB lane,所以现在可以安全地分散了。
unsafe { vals.scatter_select_unchecked(&mut vec, enable, idxs); }
// 索引 0 的第二次写入被屏蔽,因此被省略。
assert_eq!(vec, vec![-41, 11, 12, 82, 14, 15, 16, 17, 18]);
Run

Trait Implementations

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

应用 + 运算符后的结果类型。

执行 + 操作。 Read more

执行 += 操作。 Read more

执行转换。

执行转换。

执行转换。

执行转换。

使用给定的格式化程序格式化该值。

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

应用 & 运算符后的结果类型。

执行 & 操作。 Read more

执行 &= 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

应用 | 运算符后的结果类型。

执行 | 操作。 Read more

执行 |= 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

应用 ^ 运算符后的结果类型。

执行 ^ 操作。 Read more

执行 ^= 操作。 Read more

返回值的副本。 Read more

source 执行复制分配。 Read more

使用给定的格式化程序格式化该值。 Read more

返回类型的 “默认值”。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

应用 / 运算符后的结果类型。

执行 / 操作。 Read more

执行 /= 操作。 Read more

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

执行转换。

将该值输入给定的 HasherRead more

将这种类型的切片送入给定的 Hasher 中。 Read more

索引后返回的类型。

执行索引 (container[index]) 操作。 Read more

执行可变索引 (container[index]) 操作。 Read more

使用给定的格式化程序格式化该值。

使用给定的格式化程序格式化该值。

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

应用 * 运算符后的结果类型。

执行 * 操作。 Read more

执行 *= 操作。 Read more

应用 - 运算符后的结果类型。

执行一元 - 运算。 Read more

应用 - 运算符后的结果类型。

执行一元 - 运算。 Read more

应用 - 运算符后的结果类型。

执行一元 - 运算。 Read more

应用 - 运算符后的结果类型。

执行一元 - 运算。 Read more

应用 - 运算符后的结果类型。

执行一元 - 运算。 Read more

应用 - 运算符后的结果类型。

执行一元 - 运算。 Read more

应用 - 运算符后的结果类型。

执行一元 - 运算。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

应用 ! 运算符后的结果类型。

执行一元 ! 操作。 Read more

使用给定的格式化程序格式化该值。

此方法返回 selfother 之间的 OrderingRead more

比较并返回两个值中的最大值。 Read more

比较并返回两个值中的最小值。 Read more

将值限制在某个时间间隔内。 Read more

此方法测试 selfother 值是否相等,并由 == 使用。 Read more

此方法测试 !=

如果存在,则此方法返回 selfother 值之间的顺序。 Read more

此方法测试的内容少于 (对于 selfother),并且由 < 操作员使用。 Read more

此方法测试小于或等于 (对于 selfother),并且由 <= 运算符使用。 Read more

此方法测试大于 (对于 selfother),并且由 > 操作员使用。 Read more

此方法测试是否大于或等于 (对于 selfother),并且由 >= 运算符使用。 Read more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

该方法采用迭代器并通过乘以项从元素生成 SelfRead more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

应用 % 运算符后的结果类型。

执行 % 操作。 Read more

执行 %= 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

应用 << 运算符后的结果类型。

执行 << 操作。 Read more

执行 <<= 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

应用 >> 运算符后的结果类型。

执行 >> 操作。 Read more

执行 >>= 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

应用 - 运算符后的结果类型。

执行 - 操作。 Read more

执行 -= 操作。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用迭代器并通过 “summing up” 项从元素生成 Self 的方法。 Read more

使用给定的格式化程序格式化该值。

使用给定的格式化程序格式化该值。

Auto Trait Implementations

Blanket Implementations

获取 selfTypeIdRead more

从拥有的值中一成不变地借用。 Read more

从拥有的值中借用。 Read more

执行转换。

执行转换。

发生转换错误时返回的类型。

执行转换。

发生转换错误时返回的类型。

执行转换。