CbmRoot
|
#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) ((a) & (b)) | ((!(a)) & (c)) |
#define | NotEmpty(a) bool((a)[0]) | bool((a)[1]) | bool((a)[2]) | bool((a)[3]) |
#define | Empty(a) !(bool((a)[0]) | bool((a)[1]) | bool((a)[2]) | bool((a)[3])) |
#define | _f1(A, F) F64vec2(F(A[0]), F(A[1])) |
#define | _fvecalignment __attribute__((aligned(16))) |
Typedefs | |
typedef F64vec2 | fvec |
typedef double | fscal |
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 | |||
) | F64vec2(F(A[0]), F(A[1])) |
Definition at line 128 of file P4_F64vec2.h.
#define _f64vec2_abs_mask (static_cast<F64vec2>(__f64vec2_abs_mask_cheat.m)) |
Definition at line 35 of file P4_F64vec2.h.
#define _f64vec2_false (static_cast<F64vec2>(__f64vec2_false_cheat.m)) |
Definition at line 40 of file P4_F64vec2.h.
#define _f64vec2_one (static_cast<F64vec2>(__f64vec2_one_cheat.m)) |
Definition at line 38 of file P4_F64vec2.h.
#define _f64vec2_sgn_mask (static_cast<F64vec2>(__f64vec2_sgn_mask_cheat.m)) |
Definition at line 36 of file P4_F64vec2.h.
#define _f64vec2_true (static_cast<F64vec2>(__f64vec2_true_cheat.m)) |
Definition at line 39 of file P4_F64vec2.h.
#define _f64vec2_zero (static_cast<F64vec2>(__f64vec2_zero_cheat.m)) |
Definition at line 37 of file P4_F64vec2.h.
#define _fvecalignment __attribute__((aligned(16))) |
Definition at line 244 of file P4_F64vec2.h.
#define Empty | ( | a | ) | !(bool((a)[0]) | bool((a)[1]) | bool((a)[2]) | bool((a)[3])) |
Definition at line 115 of file P4_F64vec2.h.
#define if3 | ( | a, | |
b, | |||
c | |||
) | ((a) & (b)) | ((!(a)) & (c)) |
Definition at line 112 of file P4_F64vec2.h.
#define NotEmpty | ( | a | ) | bool((a)[0]) | bool((a)[1]) | bool((a)[2]) | bool((a)[3]) |
Definition at line 114 of file P4_F64vec2.h.
typedef double fscal |
Definition at line 239 of file P4_F64vec2.h.
Definition at line 238 of file P4_F64vec2.h.
class F64vec2 __attribute__ | ( | (aligned(16)) | ) |
Definition at line 133 of file P4_F64vec2.h.
Definition at line 63 of file P4_F64vec2.h.
Definition at line 137 of file P4_F64vec2.h.
Definition at line 117 of file P4_F64vec2.h.
Definition at line 132 of file P4_F64vec2.h.
Definition at line 129 of file P4_F64vec2.h.
__attribute__::F64vec2 | ( | ) |
Definition at line 8 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 10 of file P4_F64vec2.h.
__attribute__::F64vec2 | ( | const double & | f0, |
const double & | f1 | ||
) |
Definition at line 12 of file P4_F64vec2.h.
Definition at line 55 of file P4_F64vec2.h.
Definition at line 130 of file P4_F64vec2.h.
Definition at line 35 of file P4_F64vec2.h.
Definition at line 32 of file P4_F64vec2.h.
__attribute__::operator __m128d | ( | ) | const |
Definition at line 15 of file P4_F64vec2.h.
Definition at line 81 of file P4_F64vec2.h.
Definition at line 69 of file P4_F64vec2.h.
Definition at line 24 of file P4_F64vec2.h.
Definition at line 18 of file P4_F64vec2.h.
References d.
Definition at line 21 of file P4_F64vec2.h.
Definition at line 27 of file P4_F64vec2.h.
Definition at line 90 of file P4_F64vec2.h.
friend std::ostream& __attribute__::operator<< | ( | std::ostream & | strm, |
const F64vec2 & | a | ||
) |
Definition at line 181 of file P4_F64vec2.h.
Definition at line 94 of file P4_F64vec2.h.
Definition at line 106 of file P4_F64vec2.h.
Definition at line 98 of file P4_F64vec2.h.
Definition at line 102 of file P4_F64vec2.h.
References _f64vec2_one, and _f64vec2_sgn_mask.
friend std::istream& __attribute__::operator>> | ( | std::istream & | strm, |
F64vec2 & | a | ||
) |
Definition at line 186 of file P4_F64vec2.h.
double& __attribute__::operator[] | ( | int | i | ) |
Definition at line 3 of file P4_F64vec2.h.
Definition at line 77 of file P4_F64vec2.h.
Definition at line 73 of file P4_F64vec2.h.
Definition at line 51 of file P4_F64vec2.h.
Definition at line 43 of file P4_F64vec2.h.
Definition at line 60 of file P4_F64vec2.h.
Definition at line 131 of file P4_F64vec2.h.
Definition at line 40 of file P4_F64vec2.h.
__attribute__::vec_arithmetic | ( | F64vec2 | , |
double | |||
) |
References _f64vec2_true.
const { ... } __d_one |
const { ... } __f64vec2_abs_mask_cheat |
const { ... } __f64vec2_false_cheat |
const { ... } __f64vec2_one_cheat |
const { ... } __f64vec2_sgn_mask_cheat |
const { ... } __f64vec2_true_cheat |
const { ... } __f64vec2_zero_cheat |
double d |
Definition at line 24 of file P4_F64vec2.h.
Referenced by CbmTrdModuleRecT::AddDigi(), CbmKFMath::AnalyticQP(), CbmRichRingFitterBase::CalcChi2(), PairAnalysisTrack::CalculateChi2Vtx(), CbmAnaConversionReco::CalculateInvMassWithFullRecoCuts(), CbmTrdModuleRecT::Config(), CbmKFParticle::Construct(), CbmKFParticle::ConstructFromKFParticle(), PsdSignalFitting::PronyFitter::CovarianceQRmod(), CbmRichRingFinderHoughImpl::DefineLocalAreaAndHits(), CbmStsPhysics::DiffusionWidth(), CbmRichRonchiAna::DoDeviation(), CbmRichRingFitterRobustCOP::DoFit(), CbmRichRingFitterTAU::DoFit(), CbmRichRingFitterEllipseTau::Eigsrt(), CbmL1RichENNRingFinderParallel::ENNRingFinder(), CbmStsFitPerformanceTask::Exec(), CbmKFTrackInterface::Extrapolate(), CbmTrdModuleRecR::FindClusters(), CbmMvdClusterAna::Finish(), CbmL1PFFitter::GetChiToVertex(), CbmKFMath::getDeviation(), CbmRichRecGeoPar::GetGeoRecPmtByBlockPathOrClosest(), CbmRichCorrection::GetMirrorIntersection(), CbmRichCorrectionVector::GetMirrorIntersection(), CbmRadDamage::GetVfd(), L1Algo::InvertCholetsky(), L1ExtrapolateJXY(), LxFinder::MatchRecoToMC(), CbmAnaConversionRecoFull::MixedEventTest(), CbmAnaConversionRecoFull::MixedEventTest2(), CbmAnaConversionRecoFull::MixedEventTest3(), CbmAnaDielectronTask::MvdCutMcDistance(), operator+(), CbmMvdSensorDigitizerTBTask::ProduceIonisationPoints(), CbmMvdSensorDigitizerTask::ProduceIonisationPoints(), ThermalModelEVMF::PVdW(), CbmAnaConversionKF::Reconstruct(), CbmRichRingLight::SetABCDEF(), CbmTrdParModDigi::SetAnodeWireToPadPlaneDistance(), CbmRichRing::SetDPar(), CbmTrdParModGas::SetDriftMap(), LKFMinuit::SumDistance2(), ThermalModelEVMF::UVdW(), and CbmClusteringWard::WardProcessingData().
const int fvecLen = 2 |
Definition at line 240 of file P4_F64vec2.h.
long long i[2] |
Definition at line 25 of file P4_F64vec2.h.
Referenced by F64vec2::operator[]().
__m128d m |
Definition at line 26 of file P4_F64vec2.h.
__m128d v |
Definition at line 1 of file P4_F64vec2.h.