SampledEmbedderState

Struct SampledEmbedderState 

Source
pub struct SampledEmbedderState<'a> {
    pub embedding_spaces: HashMap<TypeId, SampledEmbeddingSpace<'a>>,
    pub ctxt: &'a Context,
}
Expand description

A sampled possible state for embeddings drawn from an crate::embedder_state::EmbedderState. This SampledEmbedderState has one SampledEmbeddingSpace for every function TypeId in the given Context, which in turn contains a sampled crate::elaborator::Elaborator and SampledModelEmbeddings

Fields§

§embedding_spaces: HashMap<TypeId, SampledEmbeddingSpace<'a>>§ctxt: &'a Context

Implementations§

Source§

impl<'a> SampledEmbedderState<'a>

Source

pub fn has_embedding(&self, term_ptr: TermPointer) -> bool

Determines whether this SampledEmbedderState has an embedding for the given TermPointer.

Source

pub fn get_model_embedding( &self, term_ptr: TermPointer, ) -> &SampledModelEmbedding

Gets the SampledModelEmbedding for the given TermPointer.

Source

pub fn expand_compressed_function( &self, compressed_vec: &TypedVector, ) -> Array2<f32>

Given a compressed TypedVector for a function type, expands the compressed vector using this SampledEmbedderState’s corresponding elaborator sample and inflates it to yield a linear transformation from the feature space of the input space to the compressed space of the output.

Source

pub fn evaluate_term_application( &self, term_application: &TermApplication, ) -> TypedVector

Given a TermApplication, evaluates the result that the SampledModelEmbeddings in this SampledEmbedderState would yield for the expression. The result will be in the compressed space of the output type.

Auto Trait Implementations§

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> 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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V