src/nalgebra_support.rs

branch
dev
changeset 80
f802ddbabcfc
parent 64
4f6ca107ccb1
equal deleted inserted replaced
68:c5f70e767511 80:f802ddbabcfc
21 use nalgebra::base::allocator::Allocator; 21 use nalgebra::base::allocator::Allocator;
22 use std::ops::Mul; 22 use std::ops::Mul;
23 use num_traits::identities::{Zero, One}; 23 use num_traits::identities::{Zero, One};
24 use crate::linops::*; 24 use crate::linops::*;
25 use crate::euclidean::*; 25 use crate::euclidean::*;
26 use crate::mapping::{Space, BasicDecomposition}; 26 use crate::mapping::{Space, BasicDecomposition, ArithmeticFalse};
27 use crate::types::Float; 27 use crate::types::Float;
28 use crate::norms::*; 28 use crate::norms::*;
29 use crate::instance::Instance; 29 use crate::instance::Instance;
30 30
31 impl<SM,N,M,E> Space for Matrix<E,N,M,SM> 31 impl<SM,N,M,E> Space for Matrix<E,N,M,SM>
43 DefaultAllocator : Allocator<N,K>, 43 DefaultAllocator : Allocator<N,K>,
44 DefaultAllocator : Allocator<M,K>, 44 DefaultAllocator : Allocator<M,K>,
45 DefaultAllocator : Allocator<N,M>, 45 DefaultAllocator : Allocator<N,M>,
46 DefaultAllocator : Allocator<M,N> { 46 DefaultAllocator : Allocator<M,N> {
47 type Codomain = OMatrix<E,N,K>; 47 type Codomain = OMatrix<E,N,K>;
48 type ArithmeticOptIn = ArithmeticFalse;
48 49
49 #[inline] 50 #[inline]
50 fn apply<I : Instance<Matrix<E,M,K,SV>>>( 51 fn apply<I : Instance<Matrix<E,M,K,SV>>>(
51 &self, x : I 52 &self, x : I
52 ) -> Self::Codomain { 53 ) -> Self::Codomain {

mercurial