forked from M-Labs/nalgebra
Moving row/col slicing traits to a better place
This commit is contained in:
parent
5611307b4d
commit
d1a58f960c
@ -1,7 +1,8 @@
|
|||||||
use std::num::{Zero, Float};
|
use std::num::{Zero, Float};
|
||||||
use na::DVec;
|
use na::DVec;
|
||||||
use na::DMat;
|
use na::DMat;
|
||||||
use traits::operations::{Transpose, ColSlice};
|
use traits::operations::Transpose;
|
||||||
|
use traits::structure::ColSlice;
|
||||||
use traits::geometry::Norm;
|
use traits::geometry::Norm;
|
||||||
use std::cmp::min;
|
use std::cmp::min;
|
||||||
|
|
||||||
|
@ -8,8 +8,8 @@ use std::num::{One, Zero};
|
|||||||
use traits::operations::ApproxEq;
|
use traits::operations::ApproxEq;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
use structs::dvec::{DVec, DVecMulRhs};
|
use structs::dvec::{DVec, DVecMulRhs};
|
||||||
use traits::operations::{Inv, Transpose, Mean, Cov, ColSlice, RowSlice};
|
use traits::operations::{Inv, Transpose, Mean, Cov};
|
||||||
use traits::structure::Cast;
|
use traits::structure::{Cast, ColSlice, RowSlice};
|
||||||
use std::fmt::{Show, Formatter, Result};
|
use std::fmt::{Show, Formatter, Result};
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
|
@ -5,10 +5,11 @@ pub use self::geometry::{AbsoluteRotate, Cross, CrossMatrix, Dot, FromHomogeneou
|
|||||||
Transform, Transformation, Translate, Translation, UniformSphereSample};
|
Transform, Transformation, Translate, Translation, UniformSphereSample};
|
||||||
|
|
||||||
pub use self::structure::{FloatVec, FloatVecExt, Basis, Cast, Col, Dim, Indexable,
|
pub use self::structure::{FloatVec, FloatVecExt, Basis, Cast, Col, Dim, Indexable,
|
||||||
Iterable, IterableMut, Mat, Row, AnyVec, VecExt};
|
Iterable, IterableMut, Mat, Row, AnyVec, VecExt,
|
||||||
|
ColSlice, RowSlice};
|
||||||
|
|
||||||
pub use self::operations::{Absolute, ApproxEq, Cov, Inv, LMul, Mean, Outer, PartialOrd, RMul,
|
pub use self::operations::{Absolute, ApproxEq, Cov, Inv, LMul, Mean, Outer, PartialOrd, RMul,
|
||||||
ScalarAdd, ScalarSub, Transpose, ColSlice, RowSlice};
|
ScalarAdd, ScalarSub, Transpose};
|
||||||
pub use self::operations::{PartialOrdering, PartialLess, PartialEqual, PartialGreater, NotComparable};
|
pub use self::operations::{PartialOrdering, PartialLess, PartialEqual, PartialGreater, NotComparable};
|
||||||
|
|
||||||
pub mod geometry;
|
pub mod geometry;
|
||||||
|
@ -244,17 +244,6 @@ pub trait Mean<N> {
|
|||||||
fn mean(&Self) -> N;
|
fn mean(&Self) -> N;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Trait for objects that support column slicing
|
|
||||||
pub trait ColSlice<VecLike> {
|
|
||||||
/// Returns a view to a slice of a column of a matrix.
|
|
||||||
fn col_slice(&self, col_id :uint, row_start: uint, row_end: uint) -> VecLike;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Trait for objects that support column slicing
|
|
||||||
pub trait RowSlice<VecLike> {
|
|
||||||
/// Returns a view to a slice of a row of a matrix.
|
|
||||||
fn row_slice(&self, row_id :uint, col_start: uint, col_end: uint) -> VecLike;
|
|
||||||
}
|
|
||||||
|
|
||||||
// /// Cholesky decomposition.
|
// /// Cholesky decomposition.
|
||||||
// pub trait Chol {
|
// pub trait Chol {
|
||||||
|
@ -91,6 +91,18 @@ pub trait Col<C> {
|
|||||||
// a lot of operations.
|
// a lot of operations.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Trait to access part of a column of a matrix
|
||||||
|
pub trait ColSlice<C> {
|
||||||
|
/// Returns a view to a slice of a column of a matrix.
|
||||||
|
fn col_slice(&self, col_id :uint, row_start: uint, row_end: uint) -> C;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Trait to access part of a row of a matrix
|
||||||
|
pub trait RowSlice<R> {
|
||||||
|
/// Returns a view to a slice of a row of a matrix.
|
||||||
|
fn row_slice(&self, row_id :uint, col_start: uint, col_end: uint) -> R;
|
||||||
|
}
|
||||||
|
|
||||||
/// Trait of objects having a spacial dimension known at compile time.
|
/// Trait of objects having a spacial dimension known at compile time.
|
||||||
pub trait Dim {
|
pub trait Dim {
|
||||||
/// The dimension of the object.
|
/// The dimension of the object.
|
||||||
|
Loading…
Reference in New Issue
Block a user