1 #ifndef L1Algo_PSEUDO_F64vec1_H 2 #define L1Algo_PSEUDO_F64vec1_H 25 friend double min(
double x,
double y) {
return x < y ? x : y; }
26 friend double max(
double x,
double y) {
return x < y ? y : x; }
27 friend double asgnb(
double x,
double y) {
return y >= 0 ?
fabs(x) : -
fabs(x); }
28 friend double rsqrt(
double x) {
return 1. /
sqrt(x); }
29 friend double rcp(
double x) {
return 1. / x; }
30 friend double sgn(
double x) {
return x >= 0 ? 1 : -1; }
32 #define _f2(A, B, F) \ 34 z.v[0] = F(A.v[0], B.v[0]); \ 40 #define _op(A, B, O) \ 42 z.v[0] = A.v[0] O B.v[0]; \ 94 #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)
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)
double operator[](int i) const
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)