1 #ifndef L1Algo_PSEUDO_F64vec1_H
2 #define L1Algo_PSEUDO_F64vec1_H
31 friend double min(
double x,
double y ){
return x<y ?x :
y; }
32 friend double max(
double x,
double y ){
return x<y ?y :
x; }
35 friend double rcp(
double x ){
return 1./
x; }
36 friend double sgn(
double x ){
return x>=0 ?1 :-1; }
38 #define _f2(A,B,F) F64vec1 z; z.v[0] = F(A.v[0],B.v[0]); return z;
39 #define _f1(A,F) F64vec1 z; z.v[0] = F(A.v[0]); return z;
40 #define _op(A,B,O) F64vec1 z; z.v[0] = A.v[0] O B.v[0]; return z;
89 #define _fvecalignment
friend F64vec1 operator/(const F64vec1 &a, const F64vec1 &b)
friend F64vec1 max(const F64vec1 &a, const F64vec1 &b)
friend std::ostream & operator<<(std::ostream &strm, const F64vec1 &a)
F64vec1(const F64vec1 &a)
double operator[](int i) const
friend double rsqrt(double x)
friend double sgn(double x)
vec_arithmetic(F64vec1, double)
friend F64vec1 cos(const F64vec1 &a)
friend F64vec1 operator*(const F64vec1 &a, const F64vec1 &b)
double & operator[](int i)
friend std::istream & operator>>(std::istream &strm, F64vec1 &a)
friend F64vec1 log(const F64vec1 &a)
friend F64vec1 min(const F64vec1 &a, const F64vec1 &b)
friend F64vec1 sgn(const F64vec1 &a)
friend double max(double x, double y)
friend double asgnb(double x, double y)
friend F64vec1 exp(const F64vec1 &a)
friend F64vec1 fabs(const F64vec1 &a)
friend F64vec1 sin(const F64vec1 &a)
friend F64vec1 rcp(const F64vec1 &a)
friend F64vec1 rsqrt(const F64vec1 &a)
friend double min(double x, double y)
friend F64vec1 operator+(const F64vec1 &a, const F64vec1 &b)
friend F64vec1 operator-(const F64vec1 &a, const F64vec1 &b)
friend F64vec1 asgnb(const F64vec1 &a, const F64vec1 &b)
friend F64vec1 sqrt(const F64vec1 &a)
friend double rcp(double x)