CARD_SAMPLE_INTERVAL_M

Constant CARD_SAMPLE_INTERVAL_M 

Source
pub const CARD_SAMPLE_INTERVAL_M: f64 = HoldCurve::SAMPLE_INTERVAL_M; // 0.91439999999999999f64
Expand description

Distance interval every DOPE-card surface samples its trajectory on, meters (~1 yard).

Deliberately independent of the card’s row spacing (MBA-1476). Sampling on a grid whose spacing was the card’s own --step made the value printed against a range depend on the step, the start and the end of the card that asked for it: the grid is anchored at zero, so a card starting anywhere that is not a multiple of its step put every requested row between two samples, and sample_at_range’s predecessor – a nearest-sample search with a tolerance of one and a half whole steps – then substituted a neighbouring range’s data without saying so. A shooter dialing 300 yd off a --start 300 --step 200 card was reading the 200-yard line. The grid spacing is now a constant of the engine, and the value at a range is read off it by interpolation, so a range’s row is the same row on every card that contains it.

Same grid as HoldCurve::SAMPLE_INTERVAL_M, and for the same reason: fine enough that linear interpolation between neighbours is orders of magnitude below what any card resolves, coarse enough that a 1500 m card is a couple of thousand points. Sampling is pure post-integration interpolation over the solver’s knots – it does not re-integrate – so refining it is measurably free next to the solve that produced those knots.