OxiNum 0.1.1 Release
[0.1.1] - 2026-06-04
Added
- oxinum-complex (new crate): Arbitrary-precision complex numbers for the OxiNum
workspace.CBigpairs twoDBigcomponents;native::BigComplexpairs two
BigFloatcomponents for binary-base complex arithmetic with explicit rounding
control. Both types provide construction, arithmetic operators (all ownership
variants), conjugate, norm-squared, transcendental functions (exp,ln,sqrt,
pow), trigonometric functions (sin,cos,tan,sinh,cosh,tanh),
inverse-trig functions (asin,acos,atan,asinh,acosh,atanh),
Display/Debugformatting, and optionalserdeandnum-traitsfeatures.
CBigis re-exported from theoxinumfacade asoxinum::CBig/oxinum::Complex. - oxinum-complex
num-complexfeature: Two-way conversions betweenCBigand
num_complex::Complex<f64>/Complex<i64>viaFromimpls. Integer conversions
store parts at unlimitedDBigprecision to prevent silent precision collapse. - oxinum-complex
TryFrom<&CBig> for (f64, f64): Fallible projection tof64
pairs; returnsOxiNumError::Overflowwhen either component exceedsf64::MAX. - oxinum-complex cross-validation test suite:
parity_cross_validationtests
verify thatCBigandnative::BigComplexagree on known-value results; includes
SciRS2ArbitraryComplexcompatibility tests. - oxinum-float
specialmodule: Pure-Rust special mathematical functions on
DBig—gamma,ln_gamma,digamma,erf,erfc,bessel_j0,euler_gamma
(Euler–Mascheroni constant to 200 digits),catalan(Catalan's constant to 200
digits). Gamma uses Lanczos (g=7) for x ∈ (0, 20] and Stirling series for x > 20. - oxinum-float
MpFloatandMpComplexadapter types (mp_floatmodule):
rug::Float/rug::Complex-compatible wrappers overDBigfor drop-in replacement
of GMP-backed types in SciRS2'sarbitrary_precisionmodule. - oxinum-float
native::bs_transcendentalmodule: Binary-splitting evaluation of
exp,sin, andcosforBigFloatabove a 512-bit precision threshold,
replacing the O(N²) iterative Taylor series. - oxinum-int
native::simd_opsmodule: SIMD-accelerated (nightlycore::simd,
with scalar fallback on stable) inner kernels for AND, OR, XOR, and within-limb
shift operations onBigUintlimb slices. Activated byoxinum_simdcfg emitted
frombuild.rsonly on nightly +simdfeature. - oxinum-int
BitAndAssign,BitOrAssign,BitXorAssignfornative::BigUint
(both owned and borrowed right-hand-side variants). - SciRS2 compatibility integration tests across all sub-crates (
scirs2_int_compat,
scirs2_float_compat,scirs2_rational_compat,scirs2_facade_compat,
scirs2_trait_hierarchy_compat,scirs2_arbitrary_complex_compat). - Allocation-profiling Criterion benchmarks for
oxinum-int,oxinum-float, and
oxinum-rational; bitwise/shift operation benchmarks foroxinum-int.
Fixed
- oxinum-float
atanandatan2precision collapse: intermediate arithmetic was
carried at the (narrow) input precision rather than the requested guard precision,
capping output accuracy at approximately 3 significant digits regardless of the
precisionargument. All internal literals, reductions, and halving loops now use
dbig_at_precision/extend_precisionatprecision + 20guard digits, giving
accurate results to full requested precision.
Full Changelog: v0.1.0...v0.1.1