Skip to main content

Module simd

Module simd 

Source
Expand description

SIMD vectorization module for high-performance batch operations.

Provides optimized implementations of common mathematical operations for processing 8 values in parallel, matching Tier 2 batch size.

Note: These are currently scalar implementations optimized for instruction-level parallelism and CPU pipelining. True SIMD vectorization would require either nightly Rust with portable_simd or external C library bindings.

Functionsยง

simd_abs_8
Vectorized absolute value
simd_acos_8
Vectorized inverse cosine for 8 f64 values
simd_add_8
Vectorized element-wise addition
simd_asin_8
Vectorized inverse sine for 8 f64 values
simd_asinh_scale_8
Vectorized asinh scale transformation (handles positive and negative data)
simd_atan2_8
Vectorized inverse tangent (atan2) for 8 point pairs
simd_batch_scale_8
Batch process 8 raw values through scaling operation with caching
simd_batch_scale_16
Batch scale 16 values with validity masking (for 16-pixel rendering)
simd_clamp_8
Vectorized clamp operation
simd_colormap_sample_8
Vectorized colormap LUT lookup (fast palette sampling)
simd_cos_8
Vectorized cosine for 8 f64 values
simd_cross_8
Vectorized 3D cross product
simd_dot3_8
Vectorized 3D dot product
simd_gamma_correct_8
Vectorized gamma correction for 8 values
simd_linear_scale_8
Vectorized linear scaling (normalization to [0, 1] range)
simd_ln_8
Vectorized natural logarithm
simd_log_scale_8
Vectorized log scale transformation (for positive data)
simd_madd_8
Vectorized fused multiply-add: result = a * b + c
simd_matvec3_8
Vectorized 3x3 matrix-vector multiplication (8 vectors)
simd_mul_8
Vectorized element-wise multiplication
simd_normalize_vec3_8
Vectorized 3D vector normalization
simd_plancklog_scale_8
Vectorized PlanckLog scale transformation
simd_pow_8
Vectorized power function (y = x^exp)
simd_recip_8
Vectorized reciprocal (1/x)
simd_sin_8
Vectorized sine for 8 f64 values
simd_sin_cos_8
Vectorized sine and cosine simultaneously (more efficient than separate calls)
simd_sin_cos_16
Vectorized sin_cos for 16 f64 values
simd_sph_to_vec_8
Vectorized spherical to Cartesian conversion (8 theta-phi pairs)
simd_sqrt_8
Vectorized square root
simd_symlog_scale_8
Vectorized symlog scale transformation (supports negative values)
simd_to_pixel_values
Convert SIMD linear scale results to PixelValue enum array
simd_to_pixel_values_16
Convert 16 SIMD scaling results to PixelValue array
simd_vec_to_sph_8
Vectorized Cartesian to spherical conversion (8 vectors)