Geant4-11
Data Structures | Namespaces | Functions | Variables
G4Log.hh File Reference
#include "G4Types.hh"
#include <limits>
#include <stdint.h>

Go to the source code of this file.

Data Structures

union  G4LogConsts::ieee754
 

Namespaces

namespace  G4LogConsts
 

Functions

uint64_t G4LogConsts::dp2uint64 (G4double x)
 
G4double G4Log (G4double x)
 
G4float G4Logf (G4float x)
 
void G4Logfv (const uint32_t size, G4float const *__restrict__ iarray, G4float *__restrict__ oarray)
 
void G4Logv (const uint32_t size, G4double const *__restrict__ iarray, G4double *__restrict__ oarray)
 
G4float G4LogConsts::get_log_poly (const G4float x)
 
G4double G4LogConsts::get_log_px (const G4double x)
 
G4double G4LogConsts::get_log_qx (const G4double x)
 
G4double G4LogConsts::getMantExponent (const G4double x, G4double &fe)
 Like frexp but vectorising and the exponent is a double. More...
 
G4float G4LogConsts::getMantExponentf (const G4float x, G4float &fe)
 Like frexp but vectorising and the exponent is a float. More...
 
void logfv (const uint32_t size, G4float const *__restrict__ iarray, G4float *__restrict__ oarray)
 
void logv (const uint32_t size, G4double const *__restrict__ iarray, G4double *__restrict__ oarray)
 
uint32_t G4LogConsts::sp2uint32 (G4float x)
 
G4float G4LogConsts::uint322sp (G4int x)
 
G4double G4LogConsts::uint642dp (uint64_t ll)
 

Variables

const G4double G4LogConsts::LOG_LOWER_LIMIT = 0
 
const G4double G4LogConsts::LOG_UPPER_LIMIT = 1e307
 
const G4float G4LogConsts::LOGF_LOWER_LIMIT = 0
 
const G4float G4LogConsts::LOGF_UPPER_LIMIT = MAXNUMF
 
const G4float G4LogConsts::MAXNUMF = 3.4028234663852885981170418348451692544e38f
 
const G4float G4LogConsts::PX1logf = 7.0376836292E-2f
 
const G4float G4LogConsts::PX2logf = -1.1514610310E-1f
 
const G4float G4LogConsts::PX3logf = 1.1676998740E-1f
 
const G4float G4LogConsts::PX4logf = -1.2420140846E-1f
 
const G4float G4LogConsts::PX5logf = 1.4249322787E-1f
 
const G4float G4LogConsts::PX6logf = -1.6668057665E-1f
 
const G4float G4LogConsts::PX7logf = 2.0000714765E-1f
 
const G4float G4LogConsts::PX8logf = -2.4999993993E-1f
 
const G4float G4LogConsts::PX9logf = 3.3333331174E-1f
 
const G4double G4LogConsts::SQRTH = 0.70710678118654752440
 
const G4float G4LogConsts::SQRTHF = 0.707106781186547524f
 

Function Documentation

◆ G4Log()

G4double G4Log ( G4double  x)
inline

Definition at line 226 of file G4Log.hh.

227{
228 const G4double original_x = x;
229
230 /* separate mantissa from exponent */
231 G4double fe;
233
234 // blending
235 x > G4LogConsts::SQRTH ? fe += 1. : x += x;
236 x -= 1.0;
237
238 /* rational form */
240
241 // for the final formula
242 const G4double x2 = x * x;
243 px *= x;
244 px *= x2;
245
246 const G4double qx = G4LogConsts::get_log_qx(x);
247
248 G4double res = px / qx;
249
250 res -= fe * 2.121944400546905827679e-4;
251 res -= 0.5 * x2;
252
253 res = x + res;
254 res += fe * 0.693359375;
255
256 if(original_x > G4LogConsts::LOG_UPPER_LIMIT)
257 res = std::numeric_limits<G4double>::infinity();
258 if(original_x < G4LogConsts::LOG_LOWER_LIMIT) // THIS IS NAN!
259 res = -std::numeric_limits<G4double>::quiet_NaN();
260
261 return res;
262}
G4fissionEvent * fe
double G4double
Definition: G4Types.hh:83
G4double get_log_px(const G4double x)
Definition: G4Log.hh:98
const G4double LOG_LOWER_LIMIT
Definition: G4Log.hh:75
const G4double LOG_UPPER_LIMIT
Definition: G4Log.hh:74
G4double getMantExponent(const G4double x, G4double &fe)
Like frexp but vectorising and the exponent is a double.
Definition: G4Log.hh:184
G4double get_log_qx(const G4double x)
Definition: G4Log.hh:121
const G4double SQRTH
Definition: G4Log.hh:77

References fe, G4LogConsts::get_log_px(), G4LogConsts::get_log_qx(), G4LogConsts::getMantExponent(), G4LogConsts::LOG_LOWER_LIMIT, G4LogConsts::LOG_UPPER_LIMIT, and G4LogConsts::SQRTH.

Referenced by G4Pow::A13High(), G4PenelopeCrossSection::AddCrossSectionPoint(), G4PenelopeCrossSection::AddShellCrossSectionPoint(), G4FTFModel::AdjustNucleonsAlgorithm_beforeSampling(), G4FTFModel::AdjustNucleonsAlgorithm_Sampling(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4PreCompoundEmission::AngularDistribution(), G4Nucleus::AnnihilationEvaporationEffects(), G4LFission::ApplyYourself(), G4MuonMinusBoundDecay::ApplyYourself(), G4ParticleHPFissionFS::ApplyYourself(), G4EnergyLossForExtrapolator::AverageScatteringAngle(), G4EmCorrections::BarkasCorrection(), G4EmCorrections::Bethe(), G4AtimaEnergyLossModel::Bethek_dedx_e(), G4VAnnihilationCollision::BrWigInt1(), G4VScatteringCollision::BrWigInt1(), G4SampleResonance::BrWigInt1(), G4PenelopeIonisationXSHandler::BuildDeltaTable(), G4PenelopeRayleighModel::BuildFormFactorTable(), G4PenelopeRayleighModelMI::BuildFormFactorTable(), G4VEmProcess::BuildLambdaTable(), G4VEnergyLossProcess::BuildLambdaTable(), G4PenelopeOscillatorManager::BuildOscillatorTable(), G4GammaGeneralProcess::BuildPhysicsTable(), G4SBBremTable::BuildSamplingTables(), G4PenelopeBremsstrahlungFS::BuildScaledXSTable(), G4PenelopeBremsstrahlungModel::BuildXSTable(), G4QuasiElRatios::CalcElTot(), G4StatMFMacroBiNucleon::CalcEntropy(), G4StatMFMacroMultiNucleon::CalcEntropy(), G4StatMFMacroNucleon::CalcEntropy(), G4StatMFMacroTetraNucleon::CalcEntropy(), G4StatMFMacroTriNucleon::CalcEntropy(), G4StatMFMicroPartition::CalcPartitionProbability(), G4GEMProbability::CalcProbability(), G4ChipsAntiBaryonElasticXS::CalculateCrossSection(), G4ChipsHyperonElasticXS::CalculateCrossSection(), G4ChipsPionMinusElasticXS::CalculateCrossSection(), G4ChipsPionPlusElasticXS::CalculateCrossSection(), G4ChipsAntiBaryonInelasticXS::CalculateCrossSection(), G4ChipsHyperonInelasticXS::CalculateCrossSection(), G4ChipsNeutronInelasticXS::CalculateCrossSection(), G4ChipsPionMinusInelasticXS::CalculateCrossSection(), G4ChipsPionPlusInelasticXS::CalculateCrossSection(), G4ChipsProtonInelasticXS::CalculateCrossSection(), G4MuonVDNuclearModel::CalculateEMVertex(), G4MaterialPropertiesTable::CalculateGROUPVEL(), G4PreCompoundTransitions::CalculateProbability(), G4QMDCollision::CalFinalStateOfTheBinaryCollisionJQMD(), G4FTFModel::CheckKinematics(), G4QGSParticipants::CheckKinematics(), G4QuasiElRatios::ChExElCoef(), G4Reggeons::Chi_pomeron(), G4Reggeons::Chi_reggeon(), G4Nucleus::Cinema(), G4PolarizedComptonModel::ComputeAsymmetryPerAtom(), G4eeToHadronsModel::ComputeCMCrossSectionPerElectron(), G4KleinNishinaCompton::ComputeCrossSectionPerAtom(), G4KleinNishinaModel::ComputeCrossSectionPerAtom(), G4PenelopeGammaConversionModel::ComputeCrossSectionPerAtom(), G4PenelopePhotoElectricModel::ComputeCrossSectionPerAtom(), G4PenelopeRayleighModel::ComputeCrossSectionPerAtom(), G4PenelopeRayleighModelMI::ComputeCrossSectionPerAtom(), G4BetheHeitlerModel::ComputeCrossSectionPerAtom(), G4UrbanAdjointMscModel::ComputeCrossSectionPerAtom(), G4UrbanMscModel::ComputeCrossSectionPerAtom(), G4GammaConversionToMuons::ComputeCrossSectionPerAtom(), G4MuBetheBlochModel::ComputeCrossSectionPerElectron(), G4AtimaEnergyLossModel::ComputeCrossSectionPerElectron(), G4BetheBlochModel::ComputeCrossSectionPerElectron(), G4BraggIonModel::ComputeCrossSectionPerElectron(), G4BraggModel::ComputeCrossSectionPerElectron(), G4ICRU73QOModel::ComputeCrossSectionPerElectron(), G4MollerBhabhaModel::ComputeCrossSectionPerElectron(), G4PenelopeAnnihilationModel::ComputeCrossSectionPerElectron(), G4eeToTwoGammaModel::ComputeCrossSectionPerElectron(), G4eplusTo2GammaOKVIModel::ComputeCrossSectionPerElectron(), G4eplusTo3GammaOKVIModel::ComputeCrossSectionPerElectron(), G4ComponentGGHadronNucleusXsc::ComputeCrossSections(), G4ComponentGGNuclNuclXsc::ComputeCrossSections(), G4eDPWAElasticDCS::ComputeCSPerAtom(), G4KokoulinMuonNuclearXS::ComputeDDMicroscopicCrossSection(), G4mplIonisationWithDeltaModel::ComputeDEDXAhlen(), G4MuBetheBlochModel::ComputeDEDXPerVolume(), G4BetheBlochModel::ComputeDEDXPerVolume(), G4BraggIonModel::ComputeDEDXPerVolume(), G4BraggModel::ComputeDEDXPerVolume(), G4MollerBhabhaModel::ComputeDEDXPerVolume(), G4ICRU73QOModel::ComputeDEDXPerVolume(), G4IonisParamMat::ComputeDensityEffectParameters(), G4MuBremsstrahlungModel::ComputeDMicroscopicCrossSection(), G4hBremsstrahlungModel::ComputeDMicroscopicCrossSection(), G4MuPairProductionModel::ComputeDMicroscopicCrossSection(), G4LivermoreBremsstrahlungModel::ComputeDXSectionPerAtom(), G4SeltzerBergerModel::ComputeDXSectionPerAtom(), G4eplusTo3GammaOKVIModel::ComputeF(), G4eplusTo3GammaOKVIModel::ComputeF0(), G4IonisParamMat::ComputeFluctModel(), G4UrbanAdjointMscModel::ComputeGeomPathLength(), G4UrbanMscModel::ComputeGeomPathLength(), G4eBremsstrahlungRelModel::ComputeLPMfunctions(), G4PairProductionRelModel::ComputeLPMfunctions(), G4Element::ComputeLradTsaiFactor(), G4IonisParamMat::ComputeMeanParameters(), G4KokoulinMuonNuclearXS::ComputeMicroscopicCrossSection(), G4MuBremsstrahlungModel::ComputeMicroscopicCrossSection(), G4MuPairProductionModel::ComputeMicroscopicCrossSection(), G4eDPWAElasticDCS::ComputeMParams(), G4Material::ComputeNuclearInterLength(), G4FTFModel::ComputeNucleusProperties(), G4QGSParticipants::ComputeNucleusProperties(), G4eBremParametrizedModel::ComputeParametrizedDXSectionPerAtom(), G4PairProductionRelModel::ComputeParametrizedXSectionPerAtom(), G4PairProductionRelModel::ComputePhi12(), G4LivermoreComptonModel::ComputeScatteringFunction(), G4LowEPComptonModel::ComputeScatteringFunction(), G4LowEPPolarizedComptonModel::ComputeScatteringFunction(), G4eDPWAElasticDCS::ComputeScatteringPowerCorrection(), G4GoudsmitSaundersonTable::ComputeScatteringPowerCorrection(), G4eBremsstrahlungRelModel::ComputeScreeningFunctions(), G4PenelopeIonisationXSHandler::ComputeShellCrossSectionsElectron(), G4PenelopeIonisationXSHandler::ComputeShellCrossSectionsPositron(), G4UrbanAdjointMscModel::ComputeTheta0(), G4UrbanMscModel::ComputeTheta0(), G4WentzelOKandVIxSection::ComputeTransportCrossSectionPerAtom(), G4UrbanAdjointMscModel::ComputeTruePathLengthLimit(), G4GoudsmitSaundersonMscModel::ComputeTruePathLengthLimit(), G4UrbanMscModel::ComputeTruePathLengthLimit(), G4UrbanAdjointMscModel::ComputeTrueStepLength(), G4GoudsmitSaundersonMscModel::ComputeTrueStepLength(), G4UrbanMscModel::ComputeTrueStepLength(), G4WentzelVIModel::ComputeTrueStepLength(), G4RToEConvForElectron::ComputeValue(), G4RToEConvForGamma::ComputeValue(), G4RToEConvForPositron::ComputeValue(), G4eBremParametrizedModel::ComputeXSectionPerAtom(), G4eBremsstrahlungRelModel::ComputeXSectionPerAtom(), G4MuPairProductionModel::ComputMuPairLoss(), G4LindhardSorensenIonModel::CorrectionsAlongStep(), G4NuclNuclDiffuseElastic::CoulombAmplitude(), G4BGGNucleonInelasticXS::CoulombFactor(), G4DiffractiveExcitation::CreateStrings(), G4AngularDistribution::Cross(), G4XPDGElastic::CrossSection(), G4XpimNTotal::CrossSection(), G4XpipNTotal::CrossSection(), G4LowEXsection::CrossSection(), G4ChipsHyperonInelasticXS::CrossSectionFormula(), G4ChipsNeutronInelasticXS::CrossSectionFormula(), G4ChipsPionMinusInelasticXS::CrossSectionFormula(), G4ChipsPionPlusInelasticXS::CrossSectionFormula(), G4ChipsProtonInelasticXS::CrossSectionFormula(), G4ChipsAntiBaryonInelasticXS::CrossSectionLin(), G4ChipsHyperonInelasticXS::CrossSectionLin(), G4ChipsNeutronInelasticXS::CrossSectionLin(), G4ChipsPionMinusInelasticXS::CrossSectionLin(), G4ChipsPionPlusInelasticXS::CrossSectionLin(), G4ChipsProtonInelasticXS::CrossSectionLin(), G4GoudsmitSaundersonMscModel::CrossSectionPerVolume(), G4AtimaEnergyLossModel::dedx_n(), G4ElasticHadrNucleusHE::DefineHadronValues(), G4ElasticData::DefineNucleusParameters(), G4DensityEffectCalculator::DeltaOnceSolved(), G4EmCorrections::DensityCorrection(), G4AtimaFluctuations::Dispersion(), G4ParticleHPMadlandNixSpectrum::E1(), G4ionEffectiveCharge::EffectiveCharge(), G4BraggIonModel::ElectronicStoppingPower(), G4BraggModel::ElectronicStoppingPower(), G4BinaryLightIonReaction::EnergyAndMomentumCorrector(), G4AtimaFluctuations::EnergyTable_interpolate(), G4AtimaEnergyLossModel::EnergyTable_interpolate(), G4LegendrePolynomial::EvalAssocLegendrePoly(), G4Nucleus::EvaporationEffects(), G4QuasiElRatios::FetchElTot(), G4VRangeToEnergyConverter::FillEnergyVector(), G4NucleiModel::fillZoneRadii(), G4VelocityTable::FindBinLocation(), G4VEmProcess::FindLambdaMax(), G4JTPolynomialSolver::FindRoots(), G4DensityEffectCalculator::FRho(), G4InuclSpecialFunctions::G4cbrt(), G4ElasticHadrNucleusHE::G4ElasticHadrNucleusHE(), G4F20GEMProbability::G4F20GEMProbability(), G4GSMottCorrection::G4GSMottCorrection(), G4GSPWACorrections::G4GSPWACorrections(), G4NeutronCaptureXS::G4NeutronCaptureXS(), G4O17GEMProbability::G4O17GEMProbability(), G4PenelopeRayleighModel::G4PenelopeRayleighModel(), G4PenelopeRayleighModelMI::G4PenelopeRayleighModelMI(), G4Pow::G4Pow(), G4FPYSamplingOps::G4SampleWatt(), G4fissionEvent::G4SmpGEng(), G4fissionEvent::G4SmpNEngCf252(), G4fissionEvent::G4SmpNugDist(), G4fissionEvent::G4SmpTerrell(), G4fissionEvent::G4SmpWatt(), G4VEmProcess::G4VEmProcess(), G4XNNElasticLowE::G4XNNElasticLowE(), G4XnpElasticLowE::G4XnpElasticLowE(), G4XnpTotalLowE::G4XnpTotalLowE(), G4NuclNuclDiffuseElastic::GammaLogB2n(), G4DiffractiveExcitation::GaussianPt(), G4ElasticHNScattering::GaussianPt(), G4FTFAnnihilation::GaussianPt(), G4FTFModel::GaussianPt(), G4QGSDiffractiveExcitation::GaussianPt(), G4QGSParticipants::GaussianPt(), G4QGSMSplitableHadron::GaussianPt(), G4QuarkExchange::GaussianPt(), G4SingleDiffractiveExcitation::GaussianPt(), G4eeToHadronsModel::GenerateCMPhoton(), G4PhotonEvaporation::GenerateGamma(), G4NucleiModel::generateInteractionLength(), G4ComponentAntiNuclNuclearXS::GetAntiHadronNucleonElCrSc(), G4ComponentAntiNuclNuclearXS::GetAntiHadronNucleonTotCrSc(), G4hhElastic::GetAqq(), G4hhElastic::GetAQQ(), G4ParticleHPInterpolator::GetBinIntegral(), G4QuasiElRatios::GetChExFactor(), G4DNAQuinnPlasmonExcitationModel::GetCrossSection(), G4LindhardSorensenData::GetDeltaL(), G4PenelopeIonisationXSHandler::GetDensityCorrection(), G4IonisParamMat::GetDensityCorrection(), G4DNARelativisticIonisationModel::GetDifferentialCrossSection(), G4PhotoNuclearCrossSection::GetElementCrossSection(), G4ElectroNuclearCrossSection::GetElementCrossSection(), G4ElectroNuclearCrossSection::GetEquivalentPhotonEnergy(), G4ElectroNuclearCrossSection::GetEquivalentPhotonQ2(), G4ChipsAntiBaryonElasticXS::GetExchangeT(), G4ChipsHyperonElasticXS::GetExchangeT(), G4ChipsPionMinusElasticXS::GetExchangeT(), G4ChipsPionPlusElasticXS::GetExchangeT(), G4RKFieldIntegrator::GetExcitationEnergy(), G4DNADiracRMatrixExcitationModel::GetExtendedPartialCrossSection(), G4PenelopeRayleighModel::GetFSquared(), G4PenelopeRayleighModelMI::GetFSquared(), G4GoudsmitSaundersonTable::GetGSAngularDtr(), G4NuclNuclDiffuseElastic::GetHadronNucleonXscNS(), G4PenelopeCrossSection::GetHardCrossSection(), G4ComponentAntiNuclNuclearXS::GetInelasticElementCrossSection(), G4PhotoNuclearCrossSection::GetIsoCrossSection(), G4ParticleHPKallbachMannSyst::GetKallbachZero(), G4VEmProcess::GetLambda(), G4PenelopeBremsstrahlungFS::GetMomentumIntegral(), G4PenelopeCrossSection::GetNormalizedShellCrossSection(), G4DNARelativisticIonisationModel::GetPartialCrossSection(), G4PenelopeBremsstrahlungModel::GetPositronXSCorrection(), G4ElasticHadrNucleusHE::GetQ2_2(), G4QuasiElRatios::GetQF2IN_Ratio(), G4NuclearFermiDensity::GetRadius(), G4NuclearShellModelDensity::GetRadius(), G4PenelopeGammaConversionModel::GetScreeningFunctions(), G4PenelopePhotoElectricModel::GetShellCrossSection(), G4PenelopeCrossSection::GetShellCrossSection(), G4PenelopeCrossSection::GetSoftStoppingPower(), G4DNAPartiallyDiffusionControlled::GetTimeToEncounter(), G4PenelopeCrossSection::GetTotalCrossSection(), G4ComponentAntiNuclNuclearXS::GetTotalElementCrossSection(), G4ScreeningMottCrossSection::GetTransitionRandom(), G4GoudsmitSaundersonMscModel::GetTransportMeanFreePath(), G4GoudsmitSaundersonMscModel::GetTransportMeanFreePathOnly(), G4ElectroNuclearCrossSection::GetVirtualFactor(), G4ParticleHPInterpolator::GetWeightedBinIntegral(), G4ElasticHadrNucleusHE::HadrNucDifferCrSec(), G4HadronNucleonXsc::HadronNucleonXscEL(), G4HadronNucleonXsc::HadronNucleonXscNS(), G4HadronNucleonXsc::HadronNucleonXscPDG(), G4HadronNucleonXsc::HadronNucleonXscVU(), G4BraggIonModel::HeEffChargeSquare(), G4GSPWACorrections::InitDataMaterial(), G4FTFParameters::InitForInteraction(), G4EmCorrections::Initialise(), G4PhysicsLogVector::Initialise(), G4BoldyshevTripletModel::Initialise(), G4mplIonisationModel::Initialise(), G4mplIonisationWithDeltaModel::Initialise(), G4MuPairProductionModel::Initialise(), G4GoudsmitSaundersonTable::Initialise(), G4eBremParametrizedModel::InitialiseConstants(), G4LindhardSorensenData::InitialiseData(), G4eBremsstrahlungRelModel::InitialiseElementData(), G4PairProductionRelModel::InitialiseElementData(), G4VEmModel::InitialiseElementSelectors(), G4UrbanMscModel::InitialiseModelCache(), G4NucleiModel::initializeCascad(), G4PenelopeBremsstrahlungFS::InitializeEnergySampling(), G4PenelopeGammaConversionModel::InitializeScreeningFunctions(), G4GSMottCorrection::InitMCDataMaterial(), G4GoudsmitSaundersonTable::InitMoliereMSCParams(), G4SBBremTable::InitSamplingTables(), G4GoudsmitSaundersonTable::InitSCPCorrection(), G4eDPWAElasticDCS::InitSCPCorrection(), G4ParticleHPVector::Integrate(), G4SynchrotronRadiation::InvSynFracInt(), G4Bessel::K0(), G4Bessel::K1(), G4HadronNucleonXsc::KaonNucleonXscVG(), G4PenelopeComptonModel::KleinNishinaCrossSection(), lgam(), G4ParticleHPInterpolator::LinearLogarithmic(), G4eDPWAElasticDCS::LoadDCSForZ(), G4eDPWAElasticDCS::LoadGrid(), G4SBBremTable::LoadSTGrid(), G4ParticleHPInterpolator::LogarithmicLinear(), G4ParticleHPInterpolator::LogarithmicLogarithmic(), G4Pow::logBase(), G4Pow::logX(), G4MuonVDNuclearModel::MakeSamplingTable(), G4MuPairProductionModel::MakeSamplingTables(), G4BetheHeitler5DModel::MaxDiffCrossSection(), MCGIDI_energy_sampleWatt(), MCGIDI_KalbachMann_sampleEp(), MCGIDI_outputChannel_sampleProductsAtE(), MCGIDI_sampling_interpolationValues(), MCGIDI_sampling_sampleX_from_pdfsOfXGivenW(), nf_exponentialIntegral(), nf_incompleteGammaFunction(), nf_incompleteGammaFunctionComplementary(), G4PenelopeCrossSection::NormalizeShellCrossSections(), G4NuclNuclDiffuseElastic::PhaseFar(), G4NuclNuclDiffuseElastic::PhaseNear(), G4Bessel::pK0(), G4hhElastic::Pomeron(), G4GammaConversionToMuons::PostStepDoIt(), G4GammaGeneralProcess::PostStepGetPhysicalInteractionLength(), G4VEmProcess::PostStepGetPhysicalInteractionLength(), G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(), G4VEmProcess::PreparePhysicsTable(), G4VEnergyLossProcess::PreparePhysicsTable(), G4PenelopeBremsstrahlungAngular::PrepareTables(), G4VelocityTable::PrepareVelocityTable(), G4GEMProbabilityVI::ProbabilityDistributionFunction(), G4GeneratorPrecompoundInterface::Propagate(), G4GeneratorPrecompoundInterface::PropagateNuclNucl(), ptwXY_createGaussianCenteredSigma1(), ptwXY_f_integrate(), ptwXY_interpolatePoint(), ptwXY_LinLogToLinLin(), ptwXY_LogLinToLinLin(), ptwXY_LogLogToLinLin(), ptwXY_thicken(), ptwXY_update_biSectionMax(), G4InuclSpecialFunctions::randomGauss(), G4SeltzerBergerModel::ReadData(), G4PenelopeGammaConversionModel::ReadDataFile(), G4PenelopePhotoElectricModel::ReadDataFile(), G4PenelopeRayleighModel::ReadDataFile(), G4PenelopeRayleighModelMI::ReadDataFile(), G4Generator2BS::RejectionFunction(), G4IonFluctuations::RelativisticFactor(), G4VProcess::ResetNumberOfInteractionLengthLeft(), G4PreCompoundEmission::rho(), G4ParticleHPSimpleEvapSpectrum::Sample(), G4ParticleHPWattSpectrum::Sample(), G4UrbanAdjointMscModel::SampleCosineTheta(), G4UrbanMscModel::SampleCosineTheta(), G4ModifiedTsai::SampleCosTheta(), G4DeltaAngle::SampleDirection(), G4RayleighAngularGenerator::SampleDirection(), G4UrbanAdjointMscModel::SampleDisplacement(), G4UrbanMscModel::SampleDisplacement(), G4UrbanAdjointMscModel::SampleDisplacementNew(), G4UrbanMscModel::SampleDisplacementNew(), G4SeltzerBergerModel::SampleEnergyTransfer(), G4PenelopeIonisationModel::SampleFinalStateElectron(), G4PenelopeIonisationModel::SampleFinalStatePositron(), G4UniversalFluctuation::SampleFluctuations(), G4FPYSamplingOps::SampleGaussian(), G4UniversalFluctuation::SampleGlandz(), G4UrbanFluctuation::SampleGlandz(), G4AntiNuclElastic::SampleInvariantT(), G4HadronElastic::SampleInvariantT(), G4GEMChannel::SampleKineticEnergy(), G4EvaporationProbability::SampleKineticEnergy(), G4GoudsmitSaundersonMscModel::SampleMSC(), G4NeutrinoNucleusModel::SampleQkr(), G4VLongitudinalStringDecay::SampleQuarkPt(), G4KineticTrack::SampleResidualLifetime(), G4WentzelVIModel::SampleScattering(), G4LivermoreBremsstrahlungModel::SampleSecondaries(), G4eBremParametrizedModel::SampleSecondaries(), G4eBremsstrahlungRelModel::SampleSecondaries(), G4BoldyshevTripletModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4LivermoreNuclearGammaConversionModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4PenelopeComptonModel::SampleSecondaries(), G4MuBetheBlochModel::SampleSecondaries(), G4MuBremsstrahlungModel::SampleSecondaries(), G4MuPairProductionModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4eeToTwoGammaModel::SampleSecondaries(), G4KleinNishinaCompton::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4eplusTo2GammaOKVIModel::SampleSecondaries(), G4BetheHeitler5DModel::SampleSecondaries(), G4LMsdGenerator::SampleT(), G4ChargeExchange::SampleT(), G4NeutrinoNucleusModel::SampleXkr(), G4BetheHeitlerModel::ScreenFunction1(), G4PairProductionRelModel::ScreenFunction1(), G4LivermoreNuclearGammaConversionModel::ScreenFunction1(), G4eBremParametrizedModel::ScreenFunction1(), G4BetheHeitlerModel::ScreenFunction12(), G4PairProductionRelModel::ScreenFunction12(), G4BetheHeitlerModel::ScreenFunction2(), G4PairProductionRelModel::ScreenFunction2(), G4LivermoreNuclearGammaConversionModel::ScreenFunction2(), G4eBremParametrizedModel::ScreenFunction2(), G4DNAScreenedRutherfordElasticModel::ScreeningFactor(), G4PenelopePhotoElectricModel::SelectRandomShell(), G4IonisParamMat::SetDensityEffectParameters(), G4VEnergyLossProcess::SetDynamicMassCharge(), G4VEmProcess::SetMaxKinEnergy(), G4IonisParamMat::SetMeanExcitationEnergy(), G4VEmProcess::SetMinKinEnergy(), G4IonCoulombCrossSection::SetupTarget(), G4AtimaEnergyLossModel::sezi_dedx_e(), G4AtimaEnergyLossModel::sezi_p_se(), G4EmCorrections::ShellCorrectionSTD(), G4UrbanAdjointMscModel::SimpleScattering(), G4UrbanMscModel::SimpleScattering(), G4LundStringFragmentation::SplitEandP(), G4QGSMFragmentation::SplitEandP(), G4VEnergyLossProcess::StartTracking(), G4BraggIonModel::StoppingPower(), G4BraggModel::StoppingPower(), G4EnergyLossForExtrapolator::TrueStepLength(), G4UrbanAdjointMscModel::UpdateCache(), G4VelocityTable::Value(), G4Clebsch::WignerLittleD(), and G4NucleiModel::zoneIntegralWoodsSaxon().

◆ G4Logf()

G4float G4Logf ( G4float  x)
inline

Definition at line 307 of file G4Log.hh.

308{
309 const G4float original_x = x;
310
311 G4float fe;
313
314 x > G4LogConsts::SQRTHF ? fe += 1.f : x += x;
315 x -= 1.0f;
316
317 const G4float x2 = x * x;
318
320 res *= x2 * x;
321
322 res += -2.12194440e-4f * fe;
323 res += -0.5f * x2;
324
325 res = x + res;
326
327 res += 0.693359375f * fe;
328
329 if(original_x > G4LogConsts::LOGF_UPPER_LIMIT)
330 res = std::numeric_limits<G4float>::infinity();
331 if(original_x < G4LogConsts::LOGF_LOWER_LIMIT)
332 res = -std::numeric_limits<G4float>::quiet_NaN();
333
334 return res;
335}
float G4float
Definition: G4Types.hh:84
G4float getMantExponentf(const G4float x, G4float &fe)
Like frexp but vectorising and the exponent is a float.
Definition: G4Log.hh:209
const G4float LOGF_UPPER_LIMIT
Definition: G4Log.hh:268
const G4float LOGF_LOWER_LIMIT
Definition: G4Log.hh:269
G4float get_log_poly(const G4float x)
Definition: G4Log.hh:281
const G4float SQRTHF
Definition: G4Log.hh:302

References fe, G4LogConsts::get_log_poly(), G4LogConsts::getMantExponentf(), G4LogConsts::LOGF_LOWER_LIMIT, G4LogConsts::LOGF_UPPER_LIMIT, and G4LogConsts::SQRTHF.

◆ G4Logfv()

void G4Logfv ( const uint32_t  size,
G4float const *__restrict__  iarray,
G4float *__restrict__  oarray 
)

◆ G4Logv()

void G4Logv ( const uint32_t  size,
G4double const *__restrict__  iarray,
G4double *__restrict__  oarray 
)

◆ logfv()

void logfv ( const uint32_t  size,
G4float const *__restrict__  iarray,
G4float *__restrict__  oarray 
)

◆ logv()

void logv ( const uint32_t  size,
G4double const *__restrict__  iarray,
G4double *__restrict__  oarray 
)