EphCore.Ephemeris.Kernels.SPK.Chebyshev (eph_core v0.1.0)

Copy Markdown View Source

Chebyshev polynomial evaluation using Clenshaw's recurrence.

Summary

Functions

Evaluate a Chebyshev series whose coefficients are in the SPK-native low-to-high order ([c0, c1, ...]).

Evaluate a Chebyshev series whose coefficients are already in high-to-low order ([cN, ..., c1, c0]).

Functions

evaluate(coefficients, t)

@spec evaluate([float()], float()) :: float()

Evaluate a Chebyshev series whose coefficients are in the SPK-native low-to-high order ([c0, c1, ...]).

evaluate_reversed(reversed_coefficients, t)

@spec evaluate_reversed([float()], float()) :: float()

Evaluate a Chebyshev series whose coefficients are already in high-to-low order ([cN, ..., c1, c0]).

This is the SPK hot path: the server pre-reverses each record's coefficients once at load time, so per-query evaluation skips the Enum.reverse/1.

normalize_time(epoch, mid, radius)

@spec normalize_time(float(), float(), float()) :: float()