pub struct Ieee64Array { /* private fields */ }Expand description
Contiguous binary64 lanes (u64 bits), row-major.
Implementations§
Source§impl Ieee64Array
impl Ieee64Array
Sourcepub fn to_csv_string(&self) -> Result<String, Error>
pub fn to_csv_string(&self) -> Result<String, Error>
Encode row-major binary64 bit patterns as unsigned decimals.
Sourcepub fn from_csv_str(text: &str) -> Result<Ieee64Array, Error>
pub fn from_csv_str(text: &str) -> Result<Ieee64Array, Error>
Parse CSV of bit-pattern cells. Empty / nan → Ieee64::NAN.
Sourcepub fn from_csv<P>(path: P) -> Result<Ieee64Array, Error>
pub fn from_csv<P>(path: P) -> Result<Ieee64Array, Error>
Read Self::from_csv_str from path.
Source§impl Ieee64Array
impl Ieee64Array
Sourcepub fn new() -> Ieee64Array
pub fn new() -> Ieee64Array
Empty 0×0 array.
Sourcepub fn filled(n: usize, fill: Ieee64) -> Ieee64Array
pub fn filled(n: usize, fill: Ieee64) -> Ieee64Array
Row vector: n copies of fill (shape (1, n)).
Sourcepub fn filled_2d(rows: usize, cols: usize, fill: Ieee64) -> Option<Ieee64Array>
pub fn filled_2d(rows: usize, cols: usize, fill: Ieee64) -> Option<Ieee64Array>
rows×cols filled with fill.
Sourcepub fn from_bits(bits: &[u64]) -> Ieee64Array
pub fn from_bits(bits: &[u64]) -> Ieee64Array
From a slice of IEEE bit patterns as a row vector.
Sourcepub fn from_shape(
rows: usize,
cols: usize,
vals: &[Ieee64],
) -> Option<Ieee64Array>
pub fn from_shape( rows: usize, cols: usize, vals: &[Ieee64], ) -> Option<Ieee64Array>
Row-major rows×cols. Length must be rows*cols.
Sourcepub fn from_values(vals: &[Ieee64]) -> Ieee64Array
pub fn from_values(vals: &[Ieee64]) -> Ieee64Array
From scalars as a row vector (shape (1, n)).
Sourcepub fn reshape(&self, rows: usize, cols: usize) -> Option<Ieee64Array>
pub fn reshape(&self, rows: usize, cols: usize) -> Option<Ieee64Array>
Reinterpret the same buffer as rows×cols when the product matches.
Sourcepub fn get(&self, i: usize) -> Option<Ieee64>
pub fn get(&self, i: usize) -> Option<Ieee64>
Lane i in storage order, or None if out of range.
Sourcepub fn get2(&self, i: usize, j: usize) -> Option<Ieee64>
pub fn get2(&self, i: usize, j: usize) -> Option<Ieee64>
Entry (i, j), or None if out of range.
Sourcepub fn add(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
pub fn add(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
Elementwise add. Shapes must match. Uses integer SIMD when the architecture provides it (still the software IEEE kernel).
Sourcepub fn add_scalar(&self, s: Ieee64) -> Ieee64Array
pub fn add_scalar(&self, s: Ieee64) -> Ieee64Array
Add a scalar to every lane.
Sourcepub fn sub(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
pub fn sub(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
Elementwise sub. Shapes must match. Integer SIMD via sign-bit flip then add.
Sourcepub fn mul(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
pub fn mul(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
Elementwise mul. Shapes must match. Integer SIMD significand products on the all-normal path.
Sourcepub fn mul_scalar(&self, s: Ieee64) -> Ieee64Array
pub fn mul_scalar(&self, s: Ieee64) -> Ieee64Array
Multiply every lane by a scalar.
Sourcepub fn div(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
pub fn div(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
Elementwise div. Shapes must match. Integer SIMD unpack on the
all-normal path; significand quotient is integer / per lane.
Sourcepub fn sqrt(&self) -> Ieee64Array
pub fn sqrt(&self) -> Ieee64Array
Elementwise sqrt. Integer SIMD unpack on non-negative normals.
Sourcepub fn fma(&self, b: &Ieee64Array, c: &Ieee64Array) -> Option<Ieee64Array>
pub fn fma(&self, b: &Ieee64Array, c: &Ieee64Array) -> Option<Ieee64Array>
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: &Ieee64Array) -> Option<Ieee64>
pub fn dot(&self, rhs: &Ieee64Array) -> Option<Ieee64>
Sequential dot product (mul then add, two rounds per term).
Sourcepub fn matmul(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
pub fn matmul(&self, rhs: &Ieee64Array) -> Option<Ieee64Array>
Software matmul: (m×k)(k×n) → (m×n). Sequential IEEE mul-then-add per term.
Source§impl Ieee64Array
impl Ieee64Array
Sourcepub fn exp(&self, cc: &mut Consts) -> Ieee64Array
pub fn exp(&self, cc: &mut Consts) -> Ieee64Array
Elementwise exp via ExactNum.
Sourcepub fn exp2(&self, cc: &mut Consts) -> Ieee64Array
pub fn exp2(&self, cc: &mut Consts) -> Ieee64Array
Elementwise exp2 via ExactNum.
Sourcepub fn exp10(&self, cc: &mut Consts) -> Ieee64Array
pub fn exp10(&self, cc: &mut Consts) -> Ieee64Array
Elementwise exp10 via ExactNum.
Sourcepub fn expm1(&self, cc: &mut Consts) -> Ieee64Array
pub fn expm1(&self, cc: &mut Consts) -> Ieee64Array
Elementwise expm1 via ExactNum.
Sourcepub fn ln(&self, cc: &mut Consts) -> Ieee64Array
pub fn ln(&self, cc: &mut Consts) -> Ieee64Array
Elementwise ln via ExactNum.
Sourcepub fn log2(&self, cc: &mut Consts) -> Ieee64Array
pub fn log2(&self, cc: &mut Consts) -> Ieee64Array
Elementwise log2 via ExactNum.
Sourcepub fn log10(&self, cc: &mut Consts) -> Ieee64Array
pub fn log10(&self, cc: &mut Consts) -> Ieee64Array
Elementwise log10 via ExactNum.
Sourcepub fn log1p(&self, cc: &mut Consts) -> Ieee64Array
pub fn log1p(&self, cc: &mut Consts) -> Ieee64Array
Elementwise log1p via ExactNum.
Sourcepub fn sin(&self, cc: &mut Consts) -> Ieee64Array
pub fn sin(&self, cc: &mut Consts) -> Ieee64Array
Elementwise sin via ExactNum.
Sourcepub fn cos(&self, cc: &mut Consts) -> Ieee64Array
pub fn cos(&self, cc: &mut Consts) -> Ieee64Array
Elementwise cos via ExactNum.
Sourcepub fn tan(&self, cc: &mut Consts) -> Ieee64Array
pub fn tan(&self, cc: &mut Consts) -> Ieee64Array
Elementwise tan via ExactNum.
Sourcepub fn asin(&self, cc: &mut Consts) -> Ieee64Array
pub fn asin(&self, cc: &mut Consts) -> Ieee64Array
Elementwise asin via ExactNum.
Sourcepub fn acos(&self, cc: &mut Consts) -> Ieee64Array
pub fn acos(&self, cc: &mut Consts) -> Ieee64Array
Elementwise acos via ExactNum.
Sourcepub fn atan(&self, cc: &mut Consts) -> Ieee64Array
pub fn atan(&self, cc: &mut Consts) -> Ieee64Array
Elementwise atan via ExactNum.
Sourcepub fn sinh(&self, cc: &mut Consts) -> Ieee64Array
pub fn sinh(&self, cc: &mut Consts) -> Ieee64Array
Elementwise sinh via ExactNum.
Sourcepub fn cosh(&self, cc: &mut Consts) -> Ieee64Array
pub fn cosh(&self, cc: &mut Consts) -> Ieee64Array
Elementwise cosh via ExactNum.
Sourcepub fn tanh(&self, cc: &mut Consts) -> Ieee64Array
pub fn tanh(&self, cc: &mut Consts) -> Ieee64Array
Elementwise tanh via ExactNum.
Sourcepub fn asinh(&self, cc: &mut Consts) -> Ieee64Array
pub fn asinh(&self, cc: &mut Consts) -> Ieee64Array
Elementwise asinh via ExactNum.
Sourcepub fn acosh(&self, cc: &mut Consts) -> Ieee64Array
pub fn acosh(&self, cc: &mut Consts) -> Ieee64Array
Elementwise acosh via ExactNum.
Sourcepub fn atanh(&self, cc: &mut Consts) -> Ieee64Array
pub fn atanh(&self, cc: &mut Consts) -> Ieee64Array
Elementwise atanh via ExactNum.
Sourcepub fn erf(&self, cc: &mut Consts) -> Ieee64Array
pub fn erf(&self, cc: &mut Consts) -> Ieee64Array
Elementwise erf via ExactNum.
Sourcepub fn erfc(&self, cc: &mut Consts) -> Ieee64Array
pub fn erfc(&self, cc: &mut Consts) -> Ieee64Array
Elementwise erfc via ExactNum.
Sourcepub fn gamma(&self, cc: &mut Consts) -> Ieee64Array
pub fn gamma(&self, cc: &mut Consts) -> Ieee64Array
Elementwise gamma via ExactNum.
Sourcepub fn ln_gamma(&self, cc: &mut Consts) -> Ieee64Array
pub fn ln_gamma(&self, cc: &mut Consts) -> Ieee64Array
Elementwise ln_gamma via ExactNum.
Sourcepub fn digamma(&self, cc: &mut Consts) -> Ieee64Array
pub fn digamma(&self, cc: &mut Consts) -> Ieee64Array
Elementwise digamma via ExactNum.
Sourcepub fn ei(&self, cc: &mut Consts) -> Ieee64Array
pub fn ei(&self, cc: &mut Consts) -> Ieee64Array
Elementwise ei via ExactNum.
Sourcepub fn si(&self, cc: &mut Consts) -> Ieee64Array
pub fn si(&self, cc: &mut Consts) -> Ieee64Array
Elementwise si via ExactNum.
Sourcepub fn ci(&self, cc: &mut Consts) -> Ieee64Array
pub fn ci(&self, cc: &mut Consts) -> Ieee64Array
Elementwise ci via ExactNum.
Sourcepub fn li(&self, cc: &mut Consts) -> Ieee64Array
pub fn li(&self, cc: &mut Consts) -> Ieee64Array
Elementwise li via ExactNum.
Sourcepub fn fresnel_s(&self, cc: &mut Consts) -> Ieee64Array
pub fn fresnel_s(&self, cc: &mut Consts) -> Ieee64Array
Elementwise fresnel_s via ExactNum.
Sourcepub fn fresnel_c(&self, cc: &mut Consts) -> Ieee64Array
pub fn fresnel_c(&self, cc: &mut Consts) -> Ieee64Array
Elementwise fresnel_c via ExactNum.
Sourcepub fn ai(&self, cc: &mut Consts) -> Ieee64Array
pub fn ai(&self, cc: &mut Consts) -> Ieee64Array
Elementwise ai via ExactNum.
Sourcepub fn bi(&self, cc: &mut Consts) -> Ieee64Array
pub fn bi(&self, cc: &mut Consts) -> Ieee64Array
Elementwise bi via ExactNum.
Sourcepub fn elliptic_k(&self, cc: &mut Consts) -> Ieee64Array
pub fn elliptic_k(&self, cc: &mut Consts) -> Ieee64Array
Elementwise elliptic_k via ExactNum.
Sourcepub fn rem_pi(&self, cc: &mut Consts) -> Ieee64Array
pub fn rem_pi(&self, cc: &mut Consts) -> Ieee64Array
Elementwise rem_pi via ExactNum.
Sourcepub fn elliptic_e_complete(&self, cc: &mut Consts) -> Ieee64Array
pub fn elliptic_e_complete(&self, cc: &mut Consts) -> Ieee64Array
Elementwise complete E(m) via ExactNum.
Sourcepub fn cbrt(&self) -> Ieee64Array
pub fn cbrt(&self) -> Ieee64Array
Elementwise cbrt via ExactNum.
Sourcepub fn atan2(&self, x: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn atan2(&self, x: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise atan2(self, x) via ExactNum.
Sourcepub fn hypot(&self, other: Ieee64) -> Ieee64Array
pub fn hypot(&self, other: Ieee64) -> Ieee64Array
Elementwise hypot(self, other) via ExactNum.
Sourcepub fn pow(&self, n: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn pow(&self, n: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise pow(self, n) via ExactNum.
Sourcepub fn log(&self, base: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn log(&self, base: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise log(self, base) via ExactNum.
Sourcepub fn gammainc(&self, x: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn gammainc(&self, x: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise γ(self, x) via ExactNum.
Sourcepub fn gammainc_upper(&self, x: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn gammainc_upper(&self, x: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise Γ(self, x) via ExactNum.
Sourcepub fn bessel_j(&self, n: usize, cc: &mut Consts) -> Ieee64Array
pub fn bessel_j(&self, n: usize, cc: &mut Consts) -> Ieee64Array
Elementwise integer-order J_n(self).
Sourcepub fn bessel_j_nu(&self, nu: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn bessel_j_nu(&self, nu: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise J_ν(self) for a shared real order.
Sourcepub fn bessel_y(&self, nu: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn bessel_y(&self, nu: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise Y_ν(self).
Sourcepub fn bessel_i(&self, nu: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn bessel_i(&self, nu: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise I_ν(self).
Sourcepub fn bessel_k(&self, nu: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn bessel_k(&self, nu: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise K_ν(self).
Sourcepub fn legendre_p(&self, n: u32) -> Ieee64Array
pub fn legendre_p(&self, n: u32) -> Ieee64Array
Elementwise P_n(self).
Sourcepub fn assoc_legendre_p(&self, n: u32, m: i32) -> Ieee64Array
pub fn assoc_legendre_p(&self, n: u32, m: i32) -> Ieee64Array
Elementwise P_n^m(self).
Sourcepub fn elliptic_f(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn elliptic_f(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise F(self | m).
Sourcepub fn elliptic_e(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn elliptic_e(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise incomplete E(self | m).
Sourcepub fn jacobi_sn(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_sn(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise sn(self | m).
Sourcepub fn jacobi_cn(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_cn(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise cn(self | m).
Sourcepub fn jacobi_dn(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_dn(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise dn(self | m).
Sourcepub fn jacobi_am(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_am(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise am(self | m).
Sourcepub fn jacobi_cd(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_cd(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise cd(self | m).
Sourcepub fn jacobi_ns(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_ns(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise ns(self | m).
Sourcepub fn jacobi_nc(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_nc(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise nc(self | m).
Sourcepub fn jacobi_nd(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_nd(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise nd(self | m).
Sourcepub fn jacobi_sc(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_sc(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise sc(self | m).
Sourcepub fn jacobi_sd(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_sd(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise sd(self | m).
Sourcepub fn jacobi_cs(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_cs(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise cs(self | m).
Sourcepub fn jacobi_ds(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_ds(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise ds(self | m).
Sourcepub fn jacobi_dc(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn jacobi_dc(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise dc(self | m).
Sourcepub fn elliptic_pi_complete(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn elliptic_pi_complete(&self, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise complete Π(n, m) with self = n.
Sourcepub fn elliptic_pi(&self, x: Ieee64, m: Ieee64, cc: &mut Consts) -> Ieee64Array
pub fn elliptic_pi(&self, x: Ieee64, m: Ieee64, cc: &mut Consts) -> Ieee64Array
Elementwise Π(self; x | m).
Sourcepub fn hypergeom_2f1(
&self,
b: Ieee64,
c: Ieee64,
z: Ieee64,
cc: &mut Consts,
) -> Ieee64Array
pub fn hypergeom_2f1( &self, b: Ieee64, c: Ieee64, z: Ieee64, cc: &mut Consts, ) -> Ieee64Array
Elementwise {}_2F_1(self, b; c; z).
Trait Implementations§
Source§impl Clone for Ieee64Array
impl Clone for Ieee64Array
Source§fn clone(&self) -> Ieee64Array
fn clone(&self) -> Ieee64Array
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 Ieee64Array
impl Debug for Ieee64Array
Source§impl Default for Ieee64Array
impl Default for Ieee64Array
Source§fn default() -> Ieee64Array
fn default() -> Ieee64Array
Auto Trait Implementations§
impl Freeze for Ieee64Array
impl RefUnwindSafe for Ieee64Array
impl Send for Ieee64Array
impl Sync for Ieee64Array
impl Unpin for Ieee64Array
impl UnsafeUnpin for Ieee64Array
impl UnwindSafe for Ieee64Array
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