A++ » INCLUDE » TMath

namespace TMath


TMath Base functions

Define the functions Min, Max, Abs, Sign, Range for all types.
NB: These functions are unfortunately not available in a portable
way in std::.

More functions are defined in TMath.h. TMathBase.h is designed to be
a stable file and used in place of TMath.h in the ROOT miniCore.


Function Members (Methods)

public:
Short_tAbs(Short_t d)
Int_tAbs(Int_t d)
Long_tAbs(Long_t d)
Long64_tAbs(Long64_t d)
Float_tAbs(Float_t d)
Double_tAbs(Double_t d)
LongDouble_tAbs(LongDouble_t d)
Double_tACos(Double_t)
Double_tACosH(Double_t)
Bool_tAreEqualAbs(Double_t af, Double_t bf, Double_t epsilon)
Bool_tAreEqualRel(Double_t af, Double_t bf, Double_t relPrec)
Double_tASin(Double_t)
Double_tASinH(Double_t)
Double_tATan(Double_t)
Double_tATan2(Double_t, Double_t)
Double_tATanH(Double_t)
Double_tBesselI(Int_t n, Double_t x)
Double_tBesselI0(Double_t x)
Double_tBesselI1(Double_t x)
Double_tBesselJ0(Double_t x)
Double_tBesselJ1(Double_t x)
Double_tBesselK(Int_t n, Double_t x)
Double_tBesselK0(Double_t x)
Double_tBesselK1(Double_t x)
Double_tBesselY0(Double_t x)
Double_tBesselY1(Double_t x)
Double_tBeta(Double_t p, Double_t q)
Double_tBetaCf(Double_t x, Double_t a, Double_t b)
Double_tBetaDist(Double_t x, Double_t p, Double_t q)
Double_tBetaDistI(Double_t x, Double_t p, Double_t q)
Double_tBetaIncomplete(Double_t x, Double_t a, Double_t b)
Double_tBinomial(Int_t n, Int_t k)
Double_tBinomialI(Double_t p, Int_t n, Int_t k)
Double_tBreitWigner(Double_t x, Double_t mean = 0, Double_t gamma = 1)
voidBubbleHigh(Int_t Narr, Double_t* arr1, Int_t* arr2)
voidBubbleLow(Int_t Narr, Double_t* arr1, Int_t* arr2)
Double_tC()
Double_tCauchyDist(Double_t x, Double_t t = 0, Double_t s = 1)
Double_tCcgs()
Double_tCeil(Double_t x)
Int_tCeilNint(Double_t x)
Double_tChisquareQuantile(Double_t p, Double_t ndf)
Double_tCos(Double_t)
Double_tCosH(Double_t)
Double_tCUncertainty()
Double_tDegToRad()
Double_tDiLog(Double_t x)
Double_tE()
Double_tErf(Double_t x)
Double_tErfc(Double_t x)
Double_tErfcInverse(Double_t x)
Double_tErfInverse(Double_t x)
Double_tEulerGamma()
Bool_tEven(Long_t a)
Double_tExp(Double_t x)
Double_tFactorial(Int_t i)
Double_tFDist(Double_t F, Double_t N, Double_t M)
Double_tFDistI(Double_t F, Double_t N, Double_t M)
Int_tFinite(Double_t x)
Double_tFloor(Double_t x)
Int_tFloorNint(Double_t x)
Double_tFreq(Double_t x)
Double_tG()
Double_tGamma(Double_t z)
Double_tGamma(Double_t a, Double_t x)
Double_tGammaDist(Double_t x, Double_t gamma, Double_t mu = 0, Double_t beta = 1)
Double_tGaus(Double_t x, Double_t mean = 0, Double_t sigma = 1, Bool_t norm = kFALSE)
Double_tGcgs()
Double_tGhbarC()
Double_tGhbarCUncertainty()
Double_tGn()
Double_tGnUncertainty()
Double_tGUncertainty()
Double_tH()
ULong_tHash(const char* str)
ULong_tHash(const void* txt, Int_t ntxt)
Double_tHbar()
Double_tHbarcgs()
Double_tHbarUncertainty()
Double_tHC()
Double_tHCcgs()
Double_tHcgs()
Double_tHUncertainty()
Double_tHypot(Double_t x, Double_t y)
Long_tHypot(Long_t x, Long_t y)
Double_tInfinity()
Double_tInvPi()
Int_tIsNaN(Double_t x)
Double_tK()
Double_tKcgs()
Double_tKolmogorovProb(Double_t z)
Double_tKolmogorovTest(Int_t na, const Double_t* a, Int_t nb, const Double_t* b, Option_t* option)
Double_tKUncertainty()
Double_tLandau(Double_t x, Double_t mpv = 0, Double_t sigma = 1, Bool_t norm = kFALSE)
Double_tLandauI(Double_t x)
Double_tLaplaceDist(Double_t x, Double_t alpha = 0, Double_t beta = 1)
Double_tLaplaceDistI(Double_t x, Double_t alpha = 0, Double_t beta = 1)
Double_tLdexp(Double_t x, Int_t exp)
Double_tLn10()
Double_tLnGamma(Double_t z)
Double_tLog(Double_t x)
Double_tLog10(Double_t x)
Double_tLog2(Double_t x)
Double_tLogE()
Double_tLogNormal(Double_t x, Double_t sigma, Double_t theta = 0, Double_t m = 1)
Short_tMax(Short_t a, Short_t b)
UShort_tMax(UShort_t a, UShort_t b)
Int_tMax(Int_t a, Int_t b)
UInt_tMax(UInt_t a, UInt_t b)
Long_tMax(Long_t a, Long_t b)
ULong_tMax(ULong_t a, ULong_t b)
Long64_tMax(Long64_t a, Long64_t b)
ULong64_tMax(ULong64_t a, ULong64_t b)
Float_tMax(Float_t a, Float_t b)
Double_tMax(Double_t a, Double_t b)
Short_tMin(Short_t a, Short_t b)
UShort_tMin(UShort_t a, UShort_t b)
Int_tMin(Int_t a, Int_t b)
UInt_tMin(UInt_t a, UInt_t b)
Long_tMin(Long_t a, Long_t b)
ULong_tMin(ULong_t a, ULong_t b)
Long64_tMin(Long64_t a, Long64_t b)
ULong64_tMin(ULong64_t a, ULong64_t b)
Float_tMin(Float_t a, Float_t b)
Double_tMin(Double_t a, Double_t b)
Double_tMWair()
Double_tNa()
Double_tNaUncertainty()
Long_tNextPrime(Long_t x)
Int_tNint<double>(double x)
Float_tNormalize(Float_t[3] v)
Double_tNormalize(Double_t[3] v)
Double_tNormQuantile(Double_t p)
Bool_tOdd(Long_t a)
Bool_tPermute(Int_t n, Int_t* a)
Double_tPi()
Double_tPiOver2()
Double_tPiOver4()
Double_tPoisson(Double_t x, Double_t par)
Double_tPoissonI(Double_t x, Double_t par)
LongDouble_tPower(LongDouble_t x, LongDouble_t y)
LongDouble_tPower(LongDouble_t x, Long64_t y)
LongDouble_tPower(Long64_t x, Long64_t y)
Double_tPower(Double_t x, Double_t y)
Double_tPower(Double_t x, Int_t y)
Double_tProb(Double_t chi2, Int_t ndf)
Double_tQe()
Double_tQeUncertainty()
voidQuantiles(Int_t n, Int_t nprob, Double_t* x, Double_t* quantiles, Double_t* prob, Bool_t isSorted = kTRUE, Int_t* index = 0, Int_t type = 7)
Double_tQuietNaN()
Double_tR()
Double_tRadToDeg()
Short_tRange(Short_t lb, Short_t ub, Short_t x)
Int_tRange(Int_t lb, Int_t ub, Int_t x)
Long_tRange(Long_t lb, Long_t ub, Long_t x)
ULong_tRange(ULong_t lb, ULong_t ub, ULong_t x)
Double_tRange(Double_t lb, Double_t ub, Double_t x)
Double_tRgair()
Bool_tRootsCubic(const Double_t[4] coef, Double_t& a, Double_t& b, Double_t& c)
Double_tRUncertainty()
Double_tSigma()
Double_tSigmaUncertainty()
Float_tSign(Float_t a, Float_t b)
Double_tSign(Double_t a, Double_t b)
LongDouble_tSign(LongDouble_t a, LongDouble_t b)
doubleSign<double, double>(double a, double b)
Double_tSignalingNaN()
Bool_tSignBit(Float_t a)
Bool_tSignBit(Double_t a)
Bool_tSignBit(LongDouble_t a)
Double_tSin(Double_t)
Double_tSinH(Double_t)
Double_tSq(Double_t x)
Double_tSqrt(Double_t x)
Double_tSqrt2()
Double_tStruveH0(Double_t x)
Double_tStruveH1(Double_t x)
Double_tStruveL0(Double_t x)
Double_tStruveL1(Double_t x)
Double_tStudent(Double_t T, Double_t ndf)
Double_tStudentI(Double_t T, Double_t ndf)
Double_tStudentQuantile(Double_t p, Double_t ndf, Bool_t lower_tail = kTRUE)
Double_tTan(Double_t)
Double_tTanH(Double_t)
Double_tTwoPi()
Double_tVavilov(Double_t x, Double_t kappa, Double_t beta2)
Double_tVavilovI(Double_t x, Double_t kappa, Double_t beta2)
Double_tVoigt(Double_t x, Double_t sigma, Double_t lg, Int_t r = 4)

Class Charts

Function documentation

Bool_t Even(Long_t a)
{ return ! (a & 1); }
Bool_t Odd(Long_t a)
{ return (a & 1); }
Short_t Abs(Short_t d)
{ return (d >= 0) ? d : Short_t(-d); }
Int_t Abs(Int_t d)
{ return std::abs(d); }
Long_t Abs(Long_t d)
{ return std::labs(d); }
Long64_t Abs(Long64_t d)
{ return std::llabs(d); }
Float_t Abs(Float_t d)
{ return std::abs(d); }
Double_t Abs(Double_t d)
{ return std::abs(d); }
LongDouble_t Abs(LongDouble_t d)
{ return std::abs(d); }
Bool_t SignBit( Integer a)
{ return (a < 0); }
Bool_t SignBit(Float_t a)
{ return std::signbit(a); }
Bool_t SignBit(Double_t a)
{ return std::signbit(a); }
T1 Sign( T1 a, T2 b)
{ return (SignBit(b)) ? - Abs(a) : Abs(a); }
Float_t Sign(Float_t a, Float_t b)
{ return std::copysign(a,b); }
Double_t Sign(Double_t a, Double_t b)
{ return std::copysign(a,b); }
Short_t Min(Short_t a, Short_t b)
{ return a <= b ? a : b; }
UShort_t Min(UShort_t a, UShort_t b)
{ return a <= b ? a : b; }
Int_t Min(Int_t a, Int_t b)
{ return a <= b ? a : b; }
UInt_t Min(UInt_t a, UInt_t b)
{ return a <= b ? a : b; }
Long_t Min(Long_t a, Long_t b)
{ return a <= b ? a : b; }
ULong_t Min(ULong_t a, ULong_t b)
{ return a <= b ? a : b; }
Long64_t Min(Long64_t a, Long64_t b)
{ return a <= b ? a : b; }
ULong64_t Min(ULong64_t a, ULong64_t b)
{ return a <= b ? a : b; }
Float_t Min(Float_t a, Float_t b)
{ return a <= b ? a : b; }
Double_t Min(Double_t a, Double_t b)
{ return a <= b ? a : b; }
Short_t Max(Short_t a, Short_t b)
{ return a >= b ? a : b; }
UShort_t Max(UShort_t a, UShort_t b)
{ return a >= b ? a : b; }
Int_t Max(Int_t a, Int_t b)
{ return a >= b ? a : b; }
UInt_t Max(UInt_t a, UInt_t b)
{ return a >= b ? a : b; }
Long_t Max(Long_t a, Long_t b)
{ return a >= b ? a : b; }
ULong_t Max(ULong_t a, ULong_t b)
{ return a >= b ? a : b; }
Long64_t Max(Long64_t a, Long64_t b)
{ return a >= b ? a : b; }
ULong64_t Max(ULong64_t a, ULong64_t b)
{ return a >= b ? a : b; }
Float_t Max(Float_t a, Float_t b)
{ return a >= b ? a : b; }
Double_t Max(Double_t a, Double_t b)
{ return a >= b ? a : b; }
Short_t Range(Short_t lb, Short_t ub, Short_t x)
{ return x < lb ? lb : (x > ub ? ub : x); }
Int_t Range(Int_t lb, Int_t ub, Int_t x)
{ return x < lb ? lb : (x > ub ? ub : x); }
Long_t Range(Long_t lb, Long_t ub, Long_t x)
{ return x < lb ? lb : (x > ub ? ub : x); }
ULong_t Range(ULong_t lb, ULong_t ub, ULong_t x)
{ return x < lb ? lb : (x > ub ? ub : x); }
Double_t Range(Double_t lb, Double_t ub, Double_t x)
{ return x < lb ? lb : (x > ub ? ub : x); }
Long_t NextPrime(Long_t x)
NextPrime is used by the Core classes.