pub struct CompoundVector { /* private fields */ }Expand description
Compound (block) vector. Owns its components.
Implementations§
Source§impl CompoundVector
impl CompoundVector
Sourcepub fn new(space: Rc<CompoundVectorSpace>) -> Self
pub fn new(space: Rc<CompoundVectorSpace>) -> Self
Construct, calling each registered factory once. Equivalent to
upstream CompoundVector(owner_space, /*create_new=*/true).
pub fn n_comps(&self) -> Index
pub fn comp(&self, i: Index) -> &dyn Vector
Sourcepub fn comp_mut(&mut self, i: Index) -> &mut dyn Vector
pub fn comp_mut(&mut self, i: Index) -> &mut dyn Vector
Mutable access to a component. Marks the compound as changed,
matching upstream’s GetCompNonConst which calls
ObjectChanged() because the caller is about to mutate.
pub fn space(&self) -> &Rc<CompoundVectorSpace>
Trait Implementations§
Source§impl Debug for CompoundVector
impl Debug for CompoundVector
Source§impl TaggedObject for CompoundVector
impl TaggedObject for CompoundVector
Source§impl Vector for CompoundVector
impl Vector for CompoundVector
fn dim(&self) -> Index
fn cache(&self) -> &VectorCache
Source§fn make_new(&self) -> Box<dyn Vector>
fn make_new(&self) -> Box<dyn Vector>
Create a new uninitialized vector belonging to the same
VectorSpace. Equivalent to Vector::MakeNew.fn as_any(&self) -> &dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
fn as_tagged(&self) -> &dyn TaggedObject
fn as_dyn_vector(&self) -> &dyn Vector
fn copy_impl(&mut self, x: &dyn Vector)
fn scal_impl(&mut self, alpha: Number)
fn axpy_impl(&mut self, alpha: Number, x: &dyn Vector)
fn dot_impl(&self, x: &dyn Vector) -> Number
fn nrm2_impl(&self) -> Number
fn asum_impl(&self) -> Number
fn amax_impl(&self) -> Number
fn set_impl(&mut self, value: Number)
fn element_wise_divide_impl(&mut self, x: &dyn Vector)
fn element_wise_multiply_impl(&mut self, x: &dyn Vector)
fn element_wise_select_impl(&mut self, x: &dyn Vector)
fn element_wise_max_impl(&mut self, x: &dyn Vector)
fn element_wise_min_impl(&mut self, x: &dyn Vector)
fn element_wise_reciprocal_impl(&mut self)
fn element_wise_abs_impl(&mut self)
fn element_wise_sqrt_impl(&mut self)
fn element_wise_sgn_impl(&mut self)
fn add_scalar_impl(&mut self, scalar: Number)
fn max_impl(&self) -> Number
fn min_impl(&self) -> Number
fn sum_impl(&self) -> Number
fn sum_logs_impl(&self) -> Number
Source§fn add_two_vectors_impl(
&mut self,
a: Number,
v1: &dyn Vector,
b: Number,
v2: &dyn Vector,
c: Number,
)
fn add_two_vectors_impl( &mut self, a: Number, v1: &dyn Vector, b: Number, v2: &dyn Vector, c: Number, )
Default fallback. Concrete types override for efficiency, but
the result must remain bit-identical to upstream’s
DenseVector::AddTwoVectorsImpl decision tree.fn frac_to_bound_impl(&self, delta: &dyn Vector, tau: Number) -> Number
fn add_vector_quotient_impl( &mut self, a: Number, z: &dyn Vector, s: &dyn Vector, c: Number, )
Source§fn has_valid_numbers_impl(&self) -> bool
fn has_valid_numbers_impl(&self) -> bool
Default uses
Asum finiteness — matches upstream
Vector::HasValidNumbersImpl.fn copy(&mut self, x: &dyn Vector)
fn make_new_copy(&self) -> Box<dyn Vector>
fn scal(&mut self, alpha: Number)
fn axpy(&mut self, alpha: Number, x: &dyn Vector)
fn dot(&self, x: &dyn Vector) -> Number
fn nrm2(&self) -> Number
fn asum(&self) -> Number
fn amax(&self) -> Number
fn set(&mut self, alpha: Number)
fn element_wise_divide(&mut self, x: &dyn Vector)
fn element_wise_multiply(&mut self, x: &dyn Vector)
fn element_wise_select(&mut self, x: &dyn Vector)
fn element_wise_max(&mut self, x: &dyn Vector)
fn element_wise_min(&mut self, x: &dyn Vector)
fn element_wise_reciprocal(&mut self)
fn element_wise_abs(&mut self)
fn element_wise_sqrt(&mut self)
fn element_wise_sgn(&mut self)
fn add_scalar(&mut self, scalar: Number)
fn max(&self) -> Number
fn min(&self) -> Number
fn sum(&self) -> Number
fn sum_logs(&self) -> Number
fn add_one_vector(&mut self, a: Number, v1: &dyn Vector, c: Number)
fn add_two_vectors( &mut self, a: Number, v1: &dyn Vector, b: Number, v2: &dyn Vector, c: Number, )
Source§fn frac_to_bound(&self, delta: &dyn Vector, tau: Number) -> Number
fn frac_to_bound(&self, delta: &dyn Vector, tau: Number) -> Number
No cache (matches upstream comment in
IpVector.hpp:820 —
caching here interferes with the quality function search).fn add_vector_quotient( &mut self, a: Number, z: &dyn Vector, s: &dyn Vector, c: Number, )
fn has_valid_numbers(&self) -> bool
Auto Trait Implementations§
impl !Freeze for CompoundVector
impl !RefUnwindSafe for CompoundVector
impl !Send for CompoundVector
impl !Sync for CompoundVector
impl !UnwindSafe for CompoundVector
impl Unpin for CompoundVector
impl UnsafeUnpin for CompoundVector
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