[][src]Struct descent::expr::dynam::ExprInfo

pub struct ExprInfo {
    pub lin: Vec<ID>,
    pub nlin: Vec<ID>,
    pub quad: Vec<(usize, usize)>,
    pub nquad: Vec<(usize, usize)>,
    pub quad_list: Vec<Vec<ID>>,
    pub nquad_list: Vec<Vec<ID>>,
}

Sparsity and other information about an Expr for guiding AD process.

Linear and quadratic respective first and second derivatives only need to be computed once on parameter change. The usize pairs represent indices into nlin. They are local variable mappings.

The contracts from Degree are expected to be held.

Fields

lin: Vec<ID>

Constant first derivative

nlin: Vec<ID>

Non-constant first derivative

quad: Vec<(usize, usize)>

Constant second derivative

nquad: Vec<(usize, usize)>

Non-constant second derivative

quad_list: Vec<Vec<ID>>nquad_list: Vec<Vec<ID>>

Implementations

impl ExprInfo[src]

pub fn new() -> Self[src]

Trait Implementations

impl Clone for ExprInfo[src]

impl Debug for ExprInfo[src]

impl Default for ExprInfo[src]

impl PartialEq<ExprInfo> for ExprInfo[src]

impl StructuralPartialEq for ExprInfo[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.