Skip to main content

LiftedMarket

Struct LiftedMarket 

pub struct LiftedMarket<R: Scalar> {
    values: Vec<R>,
    spans: Arc<[Span]>,
}
Expand description

A market’s parameters lifted into one mode, with the layout that labels them.

Owned by the caller and borrowed by the view, which is what makes the lift free of shared mutable state: registering handles writes here, not into the market, so two threads lifting the same market never meet.

Fields§

§values: Vec<R>§spans: Arc<[Span]>

The layout, shared with the market it was lifted from.

Implementations§

§

impl<R: Scalar> LiftedMarket<R>

pub fn parameters(&self) -> &[R]

The lifted parameters, end to end.

pub fn parameters_mut(&mut self) -> &mut [R]

The lifted parameters, mutably.

Substituting a caller’s own numbers is what the lift is for, so moving one here and repricing is a scenario, a bump, or a finite difference — and it still leaves the stored market alone. Do not use it on a vector that has already been registered: a registered handle’s value and its tape slot travel together, and writing through one without the other would price at a number the recording never saw.

pub fn len(&self) -> usize

How many parameters were lifted.

pub fn is_empty(&self) -> bool

Whether the market held no free parameters at all.

§

impl LiftedMarket<AReal<f64>>

pub fn register(&mut self, tape: &mut Tape<f64>)

Register every lifted parameter as a tape input.

The one place arming survives, and it arms the caller’s own vector rather than the market. Call it inside an open recording, before building the view.

Trait Implementations§

§

impl<R: Clone + Scalar> Clone for LiftedMarket<R>

§

fn clone(&self) -> LiftedMarket<R>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<R: Debug + Scalar> Debug for LiftedMarket<R>

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
§

impl<R: PartialEq + Scalar> PartialEq for LiftedMarket<R>

§

fn eq(&self, other: &LiftedMarket<R>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<R: PartialEq + Scalar> StructuralPartialEq for LiftedMarket<R>

Auto Trait Implementations§

§

impl<R> Freeze for LiftedMarket<R>

§

impl<R> RefUnwindSafe for LiftedMarket<R>
where R: RefUnwindSafe,

§

impl<R> Send for LiftedMarket<R>

§

impl<R> Sync for LiftedMarket<R>

§

impl<R> Unpin for LiftedMarket<R>
where R: Unpin,

§

impl<R> UnsafeUnpin for LiftedMarket<R>

§

impl<R> UnwindSafe for LiftedMarket<R>
where R: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.