pub struct RuntimeValue { /* private fields */ }Expand description
Zero-order runtime scalar for evaluating the primal value of a canonical runtime-width row program without constructing derivative channels.
The primary dimension remains part of the scalar so it obeys the same runtime algebra contract as derivative-carrying implementations. Unary derivative stacks contribute only their value entry, while structured quadratic operators retain their representation-specific primal lowering.
Trait Implementations§
Source§impl Clone for RuntimeValue
impl Clone for RuntimeValue
Source§fn clone(&self) -> RuntimeValue
fn clone(&self) -> RuntimeValue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for RuntimeValue
Source§impl Debug for RuntimeValue
impl Debug for RuntimeValue
Source§impl PartialEq for RuntimeValue
impl PartialEq for RuntimeValue
Source§impl<'arena> RuntimeJetScalar<'arena> for RuntimeValue
impl<'arena> RuntimeJetScalar<'arena> for RuntimeValue
Source§type Workspace = ()
type Workspace = ()
Storage arena used by runtime-backed scalars. Fixed derivative oracles
use the unit type because their storage is inline.
Source§fn constant(c: f64, dimension: usize, (): &'arena Self::Workspace) -> Self
fn constant(c: f64, dimension: usize, (): &'arena Self::Workspace) -> Self
A constant in a
dimension-primary algebra.Source§fn variable(
x: f64,
axis: usize,
dimension: usize,
(): &'arena Self::Workspace,
) -> Self
fn variable( x: f64, axis: usize, dimension: usize, (): &'arena Self::Workspace, ) -> Self
A seeded variable in a
dimension-primary algebra.Source§fn constant_like(&self, c: f64) -> Self
fn constant_like(&self, c: f64) -> Self
A constant in the same runtime algebra as
self. Read moreSource§fn with_value(&self, value: f64) -> Self
fn with_value(&self, value: f64) -> Self
Replace only the primal value, preserving every derivative channel.
Source§fn symmetric_quadratic_form<C: SymmetricQuadraticCoefficients>(
inputs: &[Self],
coefficients: &C,
dimension: usize,
(): &'arena Self::Workspace,
) -> Self
fn symmetric_quadratic_form<C: SymmetricQuadraticCoefficients>( inputs: &[Self], coefficients: &C, dimension: usize, (): &'arena Self::Workspace, ) -> Self
Evaluate
inputs' A inputs from the same universal semantic primitive
as JetScalar::symmetric_quadratic_form.Source§fn linear_combination(
inputs: &[Self],
weights: &[f64],
dimension: usize,
(): &'arena Self::Workspace,
) -> Self
fn linear_combination( inputs: &[Self], weights: &[f64], dimension: usize, (): &'arena Self::Workspace, ) -> Self
Evaluate
sum_i weights[i] * inputs[i] in one semantic primitive.Source§fn multiply_add(&self, right: &Self, addend: &Self) -> Self
fn multiply_add(&self, right: &Self, addend: &Self) -> Self
Evaluate
self * right + addend in one semantic primitive.Source§fn composed_sum(
inputs: &[Self],
derivative_stacks: &[[f64; 5]],
dimension: usize,
(): &'arena Self::Workspace,
) -> Self
fn composed_sum( inputs: &[Self], derivative_stacks: &[[f64; 5]], dimension: usize, (): &'arena Self::Workspace, ) -> Self
Sum unary compositions directly from certified derivative stacks.
Source§fn affine_compose(
&self,
input_scale: f64,
input_shift: f64,
derivative_stack: [f64; 5],
) -> Self
fn affine_compose( &self, input_scale: f64, input_shift: f64, derivative_stack: [f64; 5], ) -> Self
Compose a certified outer stack after an affine input map.
Source§fn affine_composed_sum(
inputs: &[Self],
input_scales: &[f64],
derivative_stacks: &[[f64; 5]],
dimension: usize,
(): &'arena Self::Workspace,
) -> Self
fn affine_composed_sum( inputs: &[Self], input_scales: &[f64], derivative_stacks: &[[f64; 5]], dimension: usize, (): &'arena Self::Workspace, ) -> Self
Sum unary compositions whose inputs each carry an affine scale.
Source§fn compose_unary(&self, derivative_stack: [f64; 5]) -> Self
fn compose_unary(&self, derivative_stack: [f64; 5]) -> Self
Exact unary composition from the certified derivative stack.
Source§fn add_constant(&self, constant: f64) -> Self
fn add_constant(&self, constant: f64) -> Self
Add a primal constant without changing derivative channels.
Source§fn weighted_compose_sum(
lefts: &[Self],
right: &Self,
derivative_stacks: &[[f64; 5]],
addend: &Self,
) -> Self
fn weighted_compose_sum( lefts: &[Self], right: &Self, derivative_stacks: &[[f64; 5]], addend: &Self, ) -> Self
addend + Sum_i lefts[i] * f_i(right) from certified derivative stacks,
with ONE shared composition point. Read moreRuntime-dimension lowering of
Σ_i f_i(input_scale_i · (left_i · right + addend_scale_i · addend))
from certified derivative stacks. Const expression arity replaces an
implementation-specific term cap, while shared operands expose universal
common-subexpression elimination. If every addend scale is exact zero
(including -0.0), the addend has no dimension, workspace, or
derivative-channel obligations.Source§fn ln(&self) -> Self
fn ln(&self) -> Self
ln(self). Caller guarantees positivity. This is the runtime-width
counterpart of JetScalar::ln and uses the identical certified
derivative stack.impl StructuralPartialEq for RuntimeValue
Auto Trait Implementations§
impl Freeze for RuntimeValue
impl RefUnwindSafe for RuntimeValue
impl Send for RuntimeValue
impl Sync for RuntimeValue
impl Unpin for RuntimeValue
impl UnsafeUnpin for RuntimeValue
impl UnwindSafe for RuntimeValue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.