Skip to main content

BasisOutputFormat

Trait BasisOutputFormat 

Source
pub trait BasisOutputFormat {
    type Output;

    const LAYOUT: BasisStorageLayout;

    // Required methods
    fn build_basis(
        data: ArrayView1<'_, f64>,
        degree: usize,
        eval_kind: BasisEvalKind,
        knotvec: Array1<f64>,
    ) -> Result<(Self::Output, Array1<f64>), BasisError>;
    fn from_dense(dense: Array2<f64>) -> Result<Self::Output, BasisError>;
    fn from_sparse(
        sparse: SparseColMat<usize, f64>,
    ) -> Result<Self::Output, BasisError>;
}
Expand description

Trait for building basis matrices with different storage formats. This is an implementation detail for the unified create_basis function.

Required Associated Constants§

Required Associated Types§

Required Methods§

Source

fn build_basis( data: ArrayView1<'_, f64>, degree: usize, eval_kind: BasisEvalKind, knotvec: Array1<f64>, ) -> Result<(Self::Output, Array1<f64>), BasisError>

Source

fn from_dense(dense: Array2<f64>) -> Result<Self::Output, BasisError>

Source

fn from_sparse( sparse: SparseColMat<usize, f64>, ) -> Result<Self::Output, BasisError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl BasisOutputFormat for Dense

Source§

const LAYOUT: BasisStorageLayout = BasisStorageLayout::Dense

Source§

type Output = Arc<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>>

Source§

impl BasisOutputFormat for Sparse

Source§

const LAYOUT: BasisStorageLayout = BasisStorageLayout::Sparse

Source§

type Output = SparseColMat<Own<usize, f64>>