|
BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
|
#include "vec_arithmetic.h"#include <cmath>#include <emmintrin.h>#include <iostream>#include "std_alloc.h"Go to the source code of this file.
Classes | |
| class | F64vec2 |
Macros | |
| #define | _f64vec2_abs_mask (static_cast<F64vec2>(__f64vec2_abs_mask_cheat.m)) |
| #define | _f64vec2_sgn_mask (static_cast<F64vec2>(__f64vec2_sgn_mask_cheat.m)) |
| #define | _f64vec2_zero (static_cast<F64vec2>(__f64vec2_zero_cheat.m)) |
| #define | _f64vec2_one (static_cast<F64vec2>(__f64vec2_one_cheat.m)) |
| #define | _f64vec2_true (static_cast<F64vec2>(__f64vec2_true_cheat.m)) |
| #define | _f64vec2_false (static_cast<F64vec2>(__f64vec2_false_cheat.m)) |
| #define | if3(a, b, c) |
| #define | NotEmpty(a) |
| #define | Empty(a) |
| #define | _f1(A, F) |
| #define | _fvecalignment __attribute__((aligned(16))) |
Typedefs | |
| typedef F64vec2 | fvec |
| typedef double | fscal |
Functions | |
| class F64vec2 | __attribute__ ((aligned(16))) |
| double & | operator[] (int i) |
| F64vec2 () | |
| F64vec2 (const __m128d &a) | |
| F64vec2 (const double &a) | |
| F64vec2 (const double &f0, const double &f1) | |
| operator __m128d () const | |
| F64vec2 | operator+ (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator- (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator* (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator/ (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | min (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | max (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | sqrt (const F64vec2 &a) |
| F64vec2 | rsqrt (const F64vec2 &a) |
| F64vec2 | rcp (const F64vec2 &a) |
| F64vec2 | fabs (const F64vec2 &a) |
| F64vec2 | sgn (const F64vec2 &a) |
| F64vec2 | asgnb (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator& (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator| (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator^ (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator! (const F64vec2 &a) |
| F64vec2 | operator< (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator<= (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator> (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator>= (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | operator== (const F64vec2 &a, const F64vec2 &b) |
| F64vec2 | bool2int (const F64vec2 &a) |
| vec_arithmetic (F64vec2, double) | |
| F64vec2 | exp (const F64vec2 &a) |
| F64vec2 | log (const F64vec2 &a) |
| F64vec2 | sin (const F64vec2 &a) |
| F64vec2 | cos (const F64vec2 &a) |
| F64vec2 | acos (const F64vec2 &a) |
| F64vec2 | atan2 (const F64vec2 &y, const F64vec2 &x) |
| std::ostream & | operator<< (std::ostream &strm, const F64vec2 &a) |
| std::istream & | operator>> (std::istream &strm, F64vec2 &a) |
Variables | |
| union { | |
| double d | |
| long long i | |
| } | __d_one = {(double)1.} |
| union { | |
| long long i [2] | |
| __m128d m | |
| } | __f64vec2_abs_mask_cheat = {{0x7fffffffffffffffll, 0x7fffffffffffffffll}} |
| union { | |
| long long i [2] | |
| __m128d m | |
| } | __f64vec2_sgn_mask_cheat = {{0x8000000000000000ull, 0x8000000000000000ull}} |
| union { | |
| long long i [2] | |
| __m128d m | |
| } | __f64vec2_zero_cheat = {{0, 0}} |
| union { | |
| long long i [2] | |
| __m128d m | |
| } | __f64vec2_one_cheat = {{__d_one.i, __d_one.i}} |
| union { | |
| long long i [2] | |
| __m128d m | |
| } | __f64vec2_true_cheat = {{0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF}} |
| union { | |
| long long i [2] | |
| __m128d m | |
| } | __f64vec2_false_cheat = {{0x0000000000000000, 0x0000000000000000}} |
| __m128d | v |
| const int | fvecLen = 2 |
| #define _f1 | ( | A, | |
| F ) |
Definition at line 158 of file P4_F64vec2.h.
Referenced by F64vec2::acos, F64vec2::cos, F64vec2::exp, F64vec2::log, and F64vec2::sin.
| #define _f64vec2_abs_mask (static_cast<F64vec2>(__f64vec2_abs_mask_cheat.m)) |
Definition at line 33 of file P4_F64vec2.h.
Referenced by F64vec2::fabs.
| #define _f64vec2_false (static_cast<F64vec2>(__f64vec2_false_cheat.m)) |
Definition at line 38 of file P4_F64vec2.h.
| #define _f64vec2_one (static_cast<F64vec2>(__f64vec2_one_cheat.m)) |
Definition at line 36 of file P4_F64vec2.h.
Referenced by F64vec2::sgn.
| #define _f64vec2_sgn_mask (static_cast<F64vec2>(__f64vec2_sgn_mask_cheat.m)) |
Definition at line 34 of file P4_F64vec2.h.
Referenced by F64vec2::asgnb, and F64vec2::sgn.
| #define _f64vec2_true (static_cast<F64vec2>(__f64vec2_true_cheat.m)) |
Definition at line 37 of file P4_F64vec2.h.
Referenced by vec_arithmetic().
| #define _f64vec2_zero (static_cast<F64vec2>(__f64vec2_zero_cheat.m)) |
Definition at line 35 of file P4_F64vec2.h.
| #define _fvecalignment __attribute__((aligned(16))) |
Definition at line 229 of file P4_F64vec2.h.
| #define Empty | ( | a | ) |
Definition at line 144 of file P4_F64vec2.h.
| #define if3 | ( | a, | |
| b, | |||
| c ) |
Definition at line 141 of file P4_F64vec2.h.
Referenced by F64vec2::bool2int.
| #define NotEmpty | ( | a | ) |
Definition at line 143 of file P4_F64vec2.h.
| typedef double fscal |
Definition at line 225 of file P4_F64vec2.h.
Definition at line 224 of file P4_F64vec2.h.
| class F64vec2 __attribute__ | ( | (aligned(16)) | ) |
Definition at line 122 of file P4_F64vec2.h.
Definition at line 52 of file P4_F64vec2.h.
References v.
Definition at line 126 of file P4_F64vec2.h.
Definition at line 105 of file P4_F64vec2.h.
Definition at line 121 of file P4_F64vec2.h.
Definition at line 118 of file P4_F64vec2.h.
| __attribute__::F64vec2 | ( | ) |
Definition at line 6 of file P4_F64vec2.h.
| __attribute__::F64vec2 | ( | const __m128d & | a | ) |
Definition at line 9 of file P4_F64vec2.h.
| __attribute__::F64vec2 | ( | const double & | a | ) |
Definition at line 12 of file P4_F64vec2.h.
| __attribute__::F64vec2 | ( | const double & | f0, |
| const double & | f1 ) |
Definition at line 16 of file P4_F64vec2.h.
Definition at line 48 of file P4_F64vec2.h.
Definition at line 119 of file P4_F64vec2.h.
Definition at line 31 of file P4_F64vec2.h.
Definition at line 30 of file P4_F64vec2.h.
| __attribute__::operator __m128d | ( | ) | const |
Definition at line 21 of file P4_F64vec2.h.
Definition at line 68 of file P4_F64vec2.h.
Definition at line 56 of file P4_F64vec2.h.
Definition at line 26 of file P4_F64vec2.h.
References i.
Definition at line 24 of file P4_F64vec2.h.
Definition at line 25 of file P4_F64vec2.h.
Definition at line 27 of file P4_F64vec2.h.
Definition at line 78 of file P4_F64vec2.h.
| friend std::ostream & __attribute__::operator<< | ( | std::ostream & | strm, |
| const F64vec2 & | a ) |
Definition at line 166 of file P4_F64vec2.h.
Definition at line 82 of file P4_F64vec2.h.
Definition at line 94 of file P4_F64vec2.h.
Definition at line 86 of file P4_F64vec2.h.
Definition at line 90 of file P4_F64vec2.h.
| friend std::istream & __attribute__::operator>> | ( | std::istream & | strm, |
| F64vec2 & | a ) |
Definition at line 172 of file P4_F64vec2.h.
| double & __attribute__::operator[] | ( | int | i | ) |
Definition at line 3 of file P4_F64vec2.h.
Definition at line 64 of file P4_F64vec2.h.
Definition at line 60 of file P4_F64vec2.h.
Definition at line 45 of file P4_F64vec2.h.
Definition at line 37 of file P4_F64vec2.h.
Definition at line 51 of file P4_F64vec2.h.
Definition at line 120 of file P4_F64vec2.h.
Definition at line 34 of file P4_F64vec2.h.
| __attribute__::vec_arithmetic | ( | F64vec2 | , |
| double | ) |
References _f64vec2_true.
| const union { ... } __d_one |
| const union { ... } __f64vec2_abs_mask_cheat |
| const union { ... } __f64vec2_false_cheat |
| const union { ... } __f64vec2_one_cheat |
| const union { ... } __f64vec2_sgn_mask_cheat |
| const union { ... } __f64vec2_true_cheat |
| const union { ... } __f64vec2_zero_cheat |
| double d |
Definition at line 21 of file P4_F64vec2.h.
| const int fvecLen = 2 |
Definition at line 226 of file P4_F64vec2.h.
| long long i[2] |
Definition at line 22 of file P4_F64vec2.h.
Referenced by F64vec2::operator[](), and F64vec2::operator[]().
| __m128d m |
Definition at line 27 of file P4_F64vec2.h.
| __m128d v |
Definition at line 1 of file P4_F64vec2.h.