ndarray
NumPy-friendly multidimensional arrays in C++
Loading...
Searching...
No Matches
Classes | Functions
Main

Classes

struct  ndarray::ApproximatelyEqual< T1, T2 >
 Binary predicate for floating point equality comparison with tolerance. More...
 
struct  ndarray::ApproximatelyEqual< std::complex< U1 >, std::complex< U2 > >
 Binary predicate for complex floating point equality comparison with tolerance. More...
 

Functions

template<typename Scalar , typename UnaryFunction >
boost::enable_if< typenameExpressionTraits< Scalar >::IsScalar, typenameUnaryFunction::result_type >::type ndarray::vectorize (UnaryFunction const &functor, Scalar const &scalar)
 Apply a non-mutating unary function object to a scalar.
 
template<typename Derived , typename UnaryFunction >
detail::UnaryOpExpression< Derived, UnaryFunction > ndarray::vectorize (UnaryFunction const &functor, ExpressionBase< Derived > const &operand)
 Apply a non-mutating unary function object to each element of a multidimensional Expression.
 
template<typename Scalar1 , typename Scalar2 , typename BinaryFunction >
boost::enable_if_c<(ExpressionTraits< Scalar1 >::IsScalar::value &&ExpressionTraits< Scalar2 >::IsScalar::value), typenameBinaryFunction::result_type >::type ndarray::vectorize (BinaryFunction const &functor, Scalar1 const &scalar1, Scalar2 const &scalar2)
 Apply a non-mutating binary function object to a pair of scalars.
 
template<typename Derived1 , typename Derived2 , typename BinaryFunction >
detail::BinaryOpExpression< Derived1, Derived2, BinaryFunction > ndarray::vectorize (BinaryFunction const &functor, ExpressionBase< Derived1 > const &operand1, ExpressionBase< Derived2 > const &operand2)
 Apply a non-mutating binary function object pairwise to the elements of two multidimensional Expressions.
 
View< boost::fusion::vector1< index::Full > > ndarray::view ()
 Start a view definition that includes the entire first dimension.
 
View< boost::fusion::vector1< index::Range > > ndarray::view (Size start, Size stop)
 Start a view definition that selects a contiguous range in the first dimension.
 
View< boost::fusion::vector1< index::Slice > > ndarray::view (Size start, Size stop, Offset step)
 Start a view definition that selects a noncontiguous slice of the first dimension.
 
View< boost::fusion::vector1< index::Scalar > > ndarray::view (Size n)
 Start a view definition that selects single element from the first dimension.
 

Detailed Description

Function Documentation

◆ vectorize() [1/4]

template<typename Derived1 , typename Derived2 , typename BinaryFunction >
detail::BinaryOpExpression< Derived1, Derived2, BinaryFunction > ndarray::vectorize ( BinaryFunction const &  functor,
ExpressionBase< Derived1 > const &  operand1,
ExpressionBase< Derived2 > const &  operand2 
)

Apply a non-mutating binary function object pairwise to the elements of two multidimensional Expressions.

Evaluation is lazy.

◆ vectorize() [2/4]

template<typename Scalar1 , typename Scalar2 , typename BinaryFunction >
boost::enable_if_c<(ExpressionTraits< Scalar1 >::IsScalar::value &&ExpressionTraits< Scalar2 >::IsScalar::value), typenameBinaryFunction::result_type >::type ndarray::vectorize ( BinaryFunction const &  functor,
Scalar1 const &  scalar1,
Scalar2 const &  scalar2 
)

Apply a non-mutating binary function object to a pair of scalars.

This overload exists to allow recursive usage of the Array-argument vectorize functions.

◆ vectorize() [3/4]

template<typename Derived , typename UnaryFunction >
detail::UnaryOpExpression< Derived, UnaryFunction > ndarray::vectorize ( UnaryFunction const &  functor,
ExpressionBase< Derived > const &  operand 
)

Apply a non-mutating unary function object to each element of a multidimensional Expression.

Evaluation is lazy.

◆ vectorize() [4/4]

template<typename Scalar , typename UnaryFunction >
boost::enable_if< typenameExpressionTraits< Scalar >::IsScalar, typenameUnaryFunction::result_type >::type ndarray::vectorize ( UnaryFunction const &  functor,
Scalar const &  scalar 
)

Apply a non-mutating unary function object to a scalar.

This overload exists to allow recursive usage of the Array-argument vectorize functions.