Base for native fast_rope; null when freqs supplies the table.
fast_rope scale (1/factor for "linear", else 1).
Precomputed frequency table (llama3/yarn/longrope/proportional).
Pre-rope input scale on x[..., :dims] (yarn mscale / su scale).
Apply preScale even when it is exactly 1.0 (SuScaledRoPE does; Yarn skips when mscale == 1.0).
ReadonlybaseBase for native fast_rope; null when freqs supplies the table.
ReadonlydimsReadonlyfreqsPrecomputed frequency table (llama3/yarn/longrope/proportional).
ReadonlyprePre-rope input scale on x[..., :dims] (yarn mscale / su scale).
ReadonlypreApply preScale even when it is exactly 1.0 (SuScaledRoPE does; Yarn skips when mscale == 1.0).
Readonlyscalefast_rope scale (1/factor for "linear", else 1).
ReadonlytraditionalPer-row array-offset variant (batched decode under left-padding: each
row's REAL position rides an int32 [B] array — the scalar offset would
mis-position every padded row by its pad amount). Same math as
apply; only the offset spelling differs.
One rope instance (shared across layers — identical params ⇒ identical values).
applyreturns a NEW array; the caller owns disposal of both.