pub struct Ieee32Array { /* private fields */ }Expand description
Contiguous binary32 lanes (u32 bits), row-major.
Implementations§
Source§impl Ieee32Array
impl Ieee32Array
Sourcepub fn new() -> Ieee32Array
pub fn new() -> Ieee32Array
Empty 0×0 array.
Sourcepub fn filled(n: usize, fill: Ieee32) -> Ieee32Array
pub fn filled(n: usize, fill: Ieee32) -> Ieee32Array
Row vector: n copies of fill (shape (1, n)).
Sourcepub fn filled_2d(rows: usize, cols: usize, fill: Ieee32) -> Option<Ieee32Array>
pub fn filled_2d(rows: usize, cols: usize, fill: Ieee32) -> Option<Ieee32Array>
rows×cols filled with fill.
Sourcepub fn from_bits(bits: &[u32]) -> Ieee32Array
pub fn from_bits(bits: &[u32]) -> Ieee32Array
From a slice of IEEE bit patterns as a row vector.
Sourcepub fn from_shape(
rows: usize,
cols: usize,
vals: &[Ieee32],
) -> Option<Ieee32Array>
pub fn from_shape( rows: usize, cols: usize, vals: &[Ieee32], ) -> Option<Ieee32Array>
Row-major rows×cols. Length must be rows*cols.
Sourcepub fn from_values(vals: &[Ieee32]) -> Ieee32Array
pub fn from_values(vals: &[Ieee32]) -> Ieee32Array
From scalars as a row vector (shape (1, n)).
Sourcepub fn reshape(&self, rows: usize, cols: usize) -> Option<Ieee32Array>
pub fn reshape(&self, rows: usize, cols: usize) -> Option<Ieee32Array>
Reinterpret the same buffer as rows×cols when the product matches.
Sourcepub fn get(&self, i: usize) -> Option<Ieee32>
pub fn get(&self, i: usize) -> Option<Ieee32>
Lane i in storage order, or None if out of range.
Sourcepub fn get2(&self, i: usize, j: usize) -> Option<Ieee32>
pub fn get2(&self, i: usize, j: usize) -> Option<Ieee32>
Entry (i, j), or None if out of range.
Sourcepub fn add(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
pub fn add(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
Elementwise add. Shapes must match. Uses integer SIMD when the architecture provides it (still the software IEEE kernel).
Sourcepub fn add_scalar(&self, s: Ieee32) -> Ieee32Array
pub fn add_scalar(&self, s: Ieee32) -> Ieee32Array
Add a scalar to every lane.
Sourcepub fn sub(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
pub fn sub(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
Elementwise sub. Shapes must match. Integer SIMD via sign-bit flip then add.
Sourcepub fn mul(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
pub fn mul(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
Elementwise mul. Shapes must match. Integer SIMD significand products on the all-normal path.
Sourcepub fn mul_scalar(&self, s: Ieee32) -> Ieee32Array
pub fn mul_scalar(&self, s: Ieee32) -> Ieee32Array
Multiply every lane by a scalar.
Sourcepub fn div(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
pub fn div(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
Elementwise div. Shapes must match. Integer SIMD unpack on the
all-normal path; significand quotient is integer / per lane.
Sourcepub fn sqrt(&self) -> Ieee32Array
pub fn sqrt(&self) -> Ieee32Array
Elementwise sqrt. Integer SIMD unpack on non-negative normals.
Sourcepub fn fma(&self, b: &Ieee32Array, c: &Ieee32Array) -> Option<Ieee32Array>
pub fn fma(&self, b: &Ieee32Array, c: &Ieee32Array) -> Option<Ieee32Array>
Elementwise fused multiply-add (a\cdot b + c). Shapes must match. Integer SIMD significand products on the all-normal path.
Sourcepub fn dot(&self, rhs: &Ieee32Array) -> Option<Ieee32>
pub fn dot(&self, rhs: &Ieee32Array) -> Option<Ieee32>
Sequential dot product (mul then add, two rounds per term).
Sourcepub fn matmul(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
pub fn matmul(&self, rhs: &Ieee32Array) -> Option<Ieee32Array>
Software matmul: (m×k)(k×n) → (m×n). Sequential IEEE mul-then-add per term.
Source§impl Ieee32Array
impl Ieee32Array
Sourcepub fn exp(&self, cc: &mut Consts) -> Ieee32Array
pub fn exp(&self, cc: &mut Consts) -> Ieee32Array
Elementwise exp via ExactNum.
Sourcepub fn exp2(&self, cc: &mut Consts) -> Ieee32Array
pub fn exp2(&self, cc: &mut Consts) -> Ieee32Array
Elementwise exp2 via ExactNum.
Sourcepub fn exp10(&self, cc: &mut Consts) -> Ieee32Array
pub fn exp10(&self, cc: &mut Consts) -> Ieee32Array
Elementwise exp10 via ExactNum.
Sourcepub fn expm1(&self, cc: &mut Consts) -> Ieee32Array
pub fn expm1(&self, cc: &mut Consts) -> Ieee32Array
Elementwise expm1 via ExactNum.
Sourcepub fn ln(&self, cc: &mut Consts) -> Ieee32Array
pub fn ln(&self, cc: &mut Consts) -> Ieee32Array
Elementwise ln via ExactNum.
Sourcepub fn log2(&self, cc: &mut Consts) -> Ieee32Array
pub fn log2(&self, cc: &mut Consts) -> Ieee32Array
Elementwise log2 via ExactNum.
Sourcepub fn log10(&self, cc: &mut Consts) -> Ieee32Array
pub fn log10(&self, cc: &mut Consts) -> Ieee32Array
Elementwise log10 via ExactNum.
Sourcepub fn log1p(&self, cc: &mut Consts) -> Ieee32Array
pub fn log1p(&self, cc: &mut Consts) -> Ieee32Array
Elementwise log1p via ExactNum.
Sourcepub fn sin(&self, cc: &mut Consts) -> Ieee32Array
pub fn sin(&self, cc: &mut Consts) -> Ieee32Array
Elementwise sin via ExactNum.
Sourcepub fn cos(&self, cc: &mut Consts) -> Ieee32Array
pub fn cos(&self, cc: &mut Consts) -> Ieee32Array
Elementwise cos via ExactNum.
Sourcepub fn tan(&self, cc: &mut Consts) -> Ieee32Array
pub fn tan(&self, cc: &mut Consts) -> Ieee32Array
Elementwise tan via ExactNum.
Sourcepub fn asin(&self, cc: &mut Consts) -> Ieee32Array
pub fn asin(&self, cc: &mut Consts) -> Ieee32Array
Elementwise asin via ExactNum.
Sourcepub fn acos(&self, cc: &mut Consts) -> Ieee32Array
pub fn acos(&self, cc: &mut Consts) -> Ieee32Array
Elementwise acos via ExactNum.
Sourcepub fn atan(&self, cc: &mut Consts) -> Ieee32Array
pub fn atan(&self, cc: &mut Consts) -> Ieee32Array
Elementwise atan via ExactNum.
Sourcepub fn sinh(&self, cc: &mut Consts) -> Ieee32Array
pub fn sinh(&self, cc: &mut Consts) -> Ieee32Array
Elementwise sinh via ExactNum.
Sourcepub fn cosh(&self, cc: &mut Consts) -> Ieee32Array
pub fn cosh(&self, cc: &mut Consts) -> Ieee32Array
Elementwise cosh via ExactNum.
Sourcepub fn tanh(&self, cc: &mut Consts) -> Ieee32Array
pub fn tanh(&self, cc: &mut Consts) -> Ieee32Array
Elementwise tanh via ExactNum.
Sourcepub fn asinh(&self, cc: &mut Consts) -> Ieee32Array
pub fn asinh(&self, cc: &mut Consts) -> Ieee32Array
Elementwise asinh via ExactNum.
Sourcepub fn acosh(&self, cc: &mut Consts) -> Ieee32Array
pub fn acosh(&self, cc: &mut Consts) -> Ieee32Array
Elementwise acosh via ExactNum.
Sourcepub fn atanh(&self, cc: &mut Consts) -> Ieee32Array
pub fn atanh(&self, cc: &mut Consts) -> Ieee32Array
Elementwise atanh via ExactNum.
Sourcepub fn erf(&self, cc: &mut Consts) -> Ieee32Array
pub fn erf(&self, cc: &mut Consts) -> Ieee32Array
Elementwise erf via ExactNum.
Sourcepub fn erfc(&self, cc: &mut Consts) -> Ieee32Array
pub fn erfc(&self, cc: &mut Consts) -> Ieee32Array
Elementwise erfc via ExactNum.
Sourcepub fn gamma(&self, cc: &mut Consts) -> Ieee32Array
pub fn gamma(&self, cc: &mut Consts) -> Ieee32Array
Elementwise gamma via ExactNum.
Sourcepub fn ln_gamma(&self, cc: &mut Consts) -> Ieee32Array
pub fn ln_gamma(&self, cc: &mut Consts) -> Ieee32Array
Elementwise ln_gamma via ExactNum.
Sourcepub fn digamma(&self, cc: &mut Consts) -> Ieee32Array
pub fn digamma(&self, cc: &mut Consts) -> Ieee32Array
Elementwise digamma via ExactNum.
Sourcepub fn ei(&self, cc: &mut Consts) -> Ieee32Array
pub fn ei(&self, cc: &mut Consts) -> Ieee32Array
Elementwise ei via ExactNum.
Sourcepub fn si(&self, cc: &mut Consts) -> Ieee32Array
pub fn si(&self, cc: &mut Consts) -> Ieee32Array
Elementwise si via ExactNum.
Sourcepub fn ci(&self, cc: &mut Consts) -> Ieee32Array
pub fn ci(&self, cc: &mut Consts) -> Ieee32Array
Elementwise ci via ExactNum.
Sourcepub fn li(&self, cc: &mut Consts) -> Ieee32Array
pub fn li(&self, cc: &mut Consts) -> Ieee32Array
Elementwise li via ExactNum.
Sourcepub fn fresnel_s(&self, cc: &mut Consts) -> Ieee32Array
pub fn fresnel_s(&self, cc: &mut Consts) -> Ieee32Array
Elementwise fresnel_s via ExactNum.
Sourcepub fn fresnel_c(&self, cc: &mut Consts) -> Ieee32Array
pub fn fresnel_c(&self, cc: &mut Consts) -> Ieee32Array
Elementwise fresnel_c via ExactNum.
Sourcepub fn ai(&self, cc: &mut Consts) -> Ieee32Array
pub fn ai(&self, cc: &mut Consts) -> Ieee32Array
Elementwise ai via ExactNum.
Sourcepub fn bi(&self, cc: &mut Consts) -> Ieee32Array
pub fn bi(&self, cc: &mut Consts) -> Ieee32Array
Elementwise bi via ExactNum.
Sourcepub fn elliptic_k(&self, cc: &mut Consts) -> Ieee32Array
pub fn elliptic_k(&self, cc: &mut Consts) -> Ieee32Array
Elementwise elliptic_k via ExactNum.
Sourcepub fn rem_pi(&self, cc: &mut Consts) -> Ieee32Array
pub fn rem_pi(&self, cc: &mut Consts) -> Ieee32Array
Elementwise rem_pi via ExactNum.
Sourcepub fn elliptic_e_complete(&self, cc: &mut Consts) -> Ieee32Array
pub fn elliptic_e_complete(&self, cc: &mut Consts) -> Ieee32Array
Elementwise complete E(m) via ExactNum.
Sourcepub fn cbrt(&self) -> Ieee32Array
pub fn cbrt(&self) -> Ieee32Array
Elementwise cbrt via ExactNum.
Sourcepub fn atan2(&self, x: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn atan2(&self, x: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise atan2(self, x) via ExactNum.
Sourcepub fn hypot(&self, other: Ieee32) -> Ieee32Array
pub fn hypot(&self, other: Ieee32) -> Ieee32Array
Elementwise hypot(self, other) via ExactNum.
Sourcepub fn pow(&self, n: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn pow(&self, n: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise pow(self, n) via ExactNum.
Sourcepub fn log(&self, base: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn log(&self, base: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise log(self, base) via ExactNum.
Sourcepub fn gammainc(&self, x: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn gammainc(&self, x: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise γ(self, x) via ExactNum.
Sourcepub fn gammainc_upper(&self, x: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn gammainc_upper(&self, x: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise Γ(self, x) via ExactNum.
Sourcepub fn bessel_j(&self, n: usize, cc: &mut Consts) -> Ieee32Array
pub fn bessel_j(&self, n: usize, cc: &mut Consts) -> Ieee32Array
Elementwise integer-order J_n(self).
Sourcepub fn bessel_j_nu(&self, nu: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn bessel_j_nu(&self, nu: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise J_ν(self) for a shared real order.
Sourcepub fn bessel_y(&self, nu: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn bessel_y(&self, nu: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise Y_ν(self).
Sourcepub fn bessel_i(&self, nu: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn bessel_i(&self, nu: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise I_ν(self).
Sourcepub fn bessel_k(&self, nu: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn bessel_k(&self, nu: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise K_ν(self).
Sourcepub fn legendre_p(&self, n: u32) -> Ieee32Array
pub fn legendre_p(&self, n: u32) -> Ieee32Array
Elementwise P_n(self).
Sourcepub fn assoc_legendre_p(&self, n: u32, m: i32) -> Ieee32Array
pub fn assoc_legendre_p(&self, n: u32, m: i32) -> Ieee32Array
Elementwise P_n^m(self).
Sourcepub fn elliptic_f(&self, m: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn elliptic_f(&self, m: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise F(self | m).
Sourcepub fn elliptic_e(&self, m: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn elliptic_e(&self, m: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise incomplete E(self | m).
Sourcepub fn elliptic_pi_complete(&self, m: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn elliptic_pi_complete(&self, m: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise complete Π(n, m) with self = n.
Sourcepub fn elliptic_pi(&self, x: Ieee32, m: Ieee32, cc: &mut Consts) -> Ieee32Array
pub fn elliptic_pi(&self, x: Ieee32, m: Ieee32, cc: &mut Consts) -> Ieee32Array
Elementwise Π(self; x | m).
Sourcepub fn hypergeom_2f1(
&self,
b: Ieee32,
c: Ieee32,
z: Ieee32,
cc: &mut Consts,
) -> Ieee32Array
pub fn hypergeom_2f1( &self, b: Ieee32, c: Ieee32, z: Ieee32, cc: &mut Consts, ) -> Ieee32Array
Elementwise {}_2F_1(self, b; c; z).
Trait Implementations§
Source§impl Clone for Ieee32Array
impl Clone for Ieee32Array
Source§fn clone(&self) -> Ieee32Array
fn clone(&self) -> Ieee32Array
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Ieee32Array
impl Debug for Ieee32Array
Source§impl Default for Ieee32Array
impl Default for Ieee32Array
Source§fn default() -> Ieee32Array
fn default() -> Ieee32Array
Auto Trait Implementations§
impl Freeze for Ieee32Array
impl RefUnwindSafe for Ieee32Array
impl Send for Ieee32Array
impl Sync for Ieee32Array
impl Unpin for Ieee32Array
impl UnsafeUnpin for Ieee32Array
impl UnwindSafe for Ieee32Array
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more