1 #ifndef VIENNACL_LINALG_NORM_1_HPP_
2 #define VIENNACL_LINALG_NORM_1_HPP_
41 #ifdef VIENNACL_WITH_UBLAS
45 template<
typename VectorT >
47 typename VectorT::value_type
49 norm_1(VectorT
const& vector)
60 template<
typename T,
typename A >
61 T
norm_1(std::vector<T, A>
const & v1)
65 for (
typename std::vector<T, A>::size_type i=0; i<v1.size(); ++i)
66 result += std::fabs(v1[i]);
74 template<
typename ScalarType>
81 const viennacl::vector_base<ScalarType>,
86 template <
typename LHS,
typename RHS,
typename OP>
90 norm_1(viennacl::vector_expression<const LHS, const RHS, OP>
const &
vector)
93 const viennacl::vector_expression<const LHS, const RHS, OP>,
Simple enable-if variant that uses the SFINAE pattern.
Definition: enable_if.hpp:29
Dispatch facility for distinguishing between ublas, STL and ViennaCL types.
This file provides the forward declarations for the main types used within ViennaCL.
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
Definition: cpu_ram.hpp:29
viennacl::scalar_expression< const viennacl::vector_expression< const LHS, const RHS, OP >, const viennacl::vector_expression< const LHS, const RHS, OP >, viennacl::op_norm_1 > norm_1(viennacl::vector_expression< const LHS, const RHS, OP > const &vector)
Definition: norm_1.hpp:90
An expression template class that represents a binary operation that yields a vector.
Definition: forwards.h:181
A proxy for scalar expressions (e.g. from inner vector products)
Definition: forwards.h:175
A vector class representing a linear memory sequence on the GPU. Inspired by boost::numeric::ublas::v...
Definition: forwards.h:208
A tag class representing the 1-norm of a vector.
Definition: forwards.h:153
T norm_1(std::vector< T, A > const &v1)
Definition: norm_1.hpp:61
Simple enable-if variant that uses the SFINAE pattern.