#pragma once #include namespace vlog { // Scalar transcription of the vectorized natural-logarithm kernel at 0x1802a24c0 // (soothe2 VST3, MSVC x86-64 AVX2, extracted from /tmp/snap_rt.bin). // // The kernel computes dst[i] = ln(src[i]) elementwise in single precision, // using its own minimax polynomial + ln(2) range reduction driven by float // bit-manipulation (the "2/3" magic exponent/mantissa split). A scalar // double-precision Cody-Waite ln handles the slow path for special values. // // NOTE: despite the file name, this kernel is a natural logarithm, NOT an FFT // butterfly. It sits in the spectral (log-magnitude) processing path, not the // complex FFT transform. The signature below mirrors the actual code: float, // out-of-place, real (src != dst is allowed). void log_f32(const float* src, float* dst, uint32_t n); } // namespace vlog