29#ifndef GRID_MATH_ARITH_SCALAR_H
30#define GRID_MATH_ARITH_SCALAR_H
64template<class l,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
72template<class l,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
79template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
87template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
94template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
102template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
112template<class l,IfNotSame<typename iScalar<l>::scalar_type,
ComplexD> = 0>
121template<class l,IfNotSame<typename iScalar<l>::scalar_type,
ComplexD> = 0>
128template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
ComplexD> = 0>
136template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
ComplexD> = 0>
143template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
ComplexD> = 0>
151template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
ComplexD> = 0>
161template<class l,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
169template<class l,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
176template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
184template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
191template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
199template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
220template<
class l,
int N>
226template<
class l,
int N>
232template<class l,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
239template<class l,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
242template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
249template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
254template<class l,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
262template<class l,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
265template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
272template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
292template<
class l,
int N>
298template<
class l,
int N>
308template<class l,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
315template<class l,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
323template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
330template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
double> = 0>
341template<class l,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
348template<class l,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
355template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
362template<class l,int N,IfNotSame<typename iScalar<l>::scalar_type,
Integer> = 0>
#define accelerator_inline
#define NAMESPACE_BEGIN(A)
std::complex< RealD > ComplexD
accelerator_inline iScalar< l > operator*(const iScalar< l > &lhs, const typename iScalar< l >::scalar_type rhs)
accelerator_inline iScalar< l > operator-(const iScalar< l > &lhs, const typename iScalar< l >::scalar_type rhs)
accelerator_inline iScalar< l > operator+(const iScalar< l > &lhs, const typename iScalar< l >::scalar_type rhs)