10 #ifndef EIGEN_EMULATE_ARRAY_H
11 #define EIGEN_EMULATE_ARRAY_H
14 #if defined(EIGEN_GPUCC) || defined(EIGEN_AVOID_STL_ARRAY)
17 template <
typename T,
size_t n>
22 typedef const T* const_iterator;
30 typedef std::reverse_iterator<iterator> reverse_iterator;
31 typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
37 EIGEN_STRONG_INLINE const_reverse_iterator rend()
const {
return const_reverse_iterator(begin()); }
109 const T& v6,
const T& v7) {
120 const T& v6,
const T& v7,
const T& v8) {
139 template <
typename T>
183 template <
class T, std::
size_t N>
185 for (std::size_t
i = 0;
i <
N; ++
i) {
186 if (lhs[
i] != rhs[
i]) {
194 template <std::
size_t I_,
class T, std::
size_t N>
198 template <std::
size_t I_,
class T, std::
size_t N>
203 template <
class T, std::
size_t N>
204 struct array_size<
array<
T,
N> > {
207 template <
class T, std::
size_t N>
208 struct array_size<
array<
T,
N>&> {
211 template <
class T, std::
size_t N>
212 struct array_size<const
array<
T,
N> > {
215 template <
class T, std::
size_t N>
216 struct array_size<const
array<
T,
N>&> {
230 template <
typename T, std::
size_t N>
242 #if defined(__GLIBCXX__) && __GLIBCXX__ < 20120322
243 #define STD_GET_ARR_HACK a._M_instance[I_]
244 #elif defined(_LIBCPP_VERSION)
245 #define STD_GET_ARR_HACK a.__elems_[I_]
247 #define STD_GET_ARR_HACK std::template get<I_, T, N>(a)
250 template <std::
size_t I_,
class T, std::
size_t N>
254 template <std::
size_t I_,
class T, std::
size_t N>
258 template <std::
size_t I_,
class T, std::
size_t N>
263 #undef STD_GET_ARR_HACK
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
#define STD_GET_ARR_HACK
Definition: EmulateArray.h:247
#define EIGEN_ALWAYS_INLINE
Definition: Macros.h:845
#define eigen_internal_assert(x)
Definition: Macros.h:916
#define EIGEN_UNUSED_VARIABLE(var)
Definition: Macros.h:966
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define eigen_assert(x)
Definition: Macros.h:910
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
#define EIGEN_STATIC_ASSERT(X, MSG)
Definition: StaticAssert.h:26
Map< RowVectorXf > v2(M2.data(), M2.size())
M1<< 1, 2, 3, 4, 5, 6, 7, 8, 9;Map< RowVectorXf > v1(M1.data(), M1.size())
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
@ N
Definition: constructor.cpp:22
static constexpr lastp1_t end
Definition: IndexedViewHelper.h:79
const Scalar * a
Definition: level2_cplx_impl.h:32
constexpr T & array_get(std::array< T, N > &a)
Definition: EmulateArray.h:251
EIGEN_DEVICE_FUNC void smart_copy(const T *start, const T *end, T *target)
Definition: Memory.h:569
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
std::array< T, N > array
Definition: EmulateArray.h:231
squared absolute value
Definition: GlobalFunctions.h:87
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
EIGEN_CONSTEXPR EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool operator==(const Pair< U, V > &x, const Pair< U, V > &y)
Definition: TensorMeta.h:227
Definition: Eigen_Colamd.h:49
static constexpr Index value
Definition: Meta.h:306