/home66/gary/public_html/cloudy/c08_branch/source/cpu.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  t_cpu

Defines

#define INT16_MAX   32767
#define INT16_MIN   (-INT16_MAX - 1)
#define UINT16_MAX   65535
#define INT32_MAX   2147483647L
#define INT32_MIN   (-INT32_MAX - 1)
#define UINT32_MAX   4294967295UL
#define UINT64_MAX   18446744073709551615UL
#define __func__   DEBUG_ENTRY.name()
#define NORETURN
#define __COMP   "unknown"
#define __COMP_VER   0
#define __OS   "unknown"
#define HAVE_POWI   0

Enumerations

enum  access_scheme {
  AS_DATA_ONLY_TRY, AS_DATA_LOCAL_TRY, AS_LOCAL_DATA_TRY, AS_LOCAL_ONLY_TRY,
  AS_DATA_ONLY, AS_DATA_OPTIONAL, AS_DATA_LOCAL, AS_LOCAL_DATA,
  AS_LOCAL_ONLY
}

Functions

FILE * open_data (const char *fname, const char *mode, access_scheme scheme=AS_DATA_ONLY)
void set_NaN (sys_float &x)
void set_NaN (sys_float x[], long n)
void set_NaN (double &x)
void set_NaN (double x[], long n)
bool MyIsnan (sys_float &x)
bool MyIsnan (double &x)

Variables

const realnum BIGFLOAT = (realnum)(FLT_MAX/100.f)
const realnum SMALLFLOAT = (realnum)(FLT_MIN*100.f)
const double BIGDOUBLE = DBL_MAX/100.
const double SMALLDOUBLE = DBL_MIN*100.
const int STDLEN = 16
EXTERN class t_cpu cpu


Detailed Description

store CPU specific information

Definition in file cpu.h.


Define Documentation

#define __COMP   "unknown"

Definition at line 369 of file cpu.h.

Referenced by t_version::t_version().

#define __COMP_VER   0

Definition at line 370 of file cpu.h.

Referenced by t_version::t_version().

#define __func__   DEBUG_ENTRY.name()

Definition at line 115 of file cpu.h.

#define __OS   "unknown"

Definition at line 445 of file cpu.h.

Referenced by t_version::t_version().

#define HAVE_POWI   0

Definition at line 452 of file cpu.h.

#define INT16_MAX   32767

some definitions for integers with a guaranteed number of bits

Definition at line 18 of file cpu.h.

#define INT16_MIN   (-INT16_MAX - 1)

Definition at line 21 of file cpu.h.

#define INT32_MAX   2147483647L

Definition at line 45 of file cpu.h.

Referenced by getrf_wrapper(), and getrs_wrapper().

#define INT32_MIN   (-INT32_MAX - 1)

Definition at line 48 of file cpu.h.

#define NORETURN

this is needed to discriminate between g++ and icc/pathCC

Definition at line 307 of file cpu.h.

#define UINT16_MAX   65535

Definition at line 33 of file cpu.h.

#define UINT32_MAX   4294967295UL

Definition at line 60 of file cpu.h.

#define UINT64_MAX   18446744073709551615UL

Definition at line 95 of file cpu.h.


Enumeration Type Documentation

enum access_scheme

flag used as third parameter for open_data, indicates how data files are searched AS_DATA_ONLY: search only in the data directories, not in the current working directory (default) AS_DATA_OPTIONAL: same as AS_DATA_ONLY, except that the precense of the file is optional AS_DATA_LOCAL: search in data directories first, then in the current working directory AS_LOCAL_DATA: search in the current working directory first, then in the data directories AS_LOCAL_ONLY: search in the current working directory only versions with _TRY appended have the same meaning, except that they don't abort

Enumerator:
AS_DATA_ONLY_TRY 
AS_DATA_LOCAL_TRY 
AS_LOCAL_DATA_TRY 
AS_LOCAL_ONLY_TRY 
AS_DATA_ONLY 
AS_DATA_OPTIONAL 
AS_DATA_LOCAL 
AS_LOCAL_DATA 
AS_LOCAL_ONLY 

Definition at line 139 of file cpu.h.


Function Documentation

bool MyIsnan ( double &  x  ) 

detect quiet and signaling NaNs in double precision FP

Definition at line 637 of file cpu.cpp.

References t_cpu::big_endian(), cpu, and t_cpu::little_endian().

Here is the call graph for this function:

bool MyIsnan ( sys_float x  ) 

detect quiet and signaling NaNs in single precision FP

Definition at line 622 of file cpu.cpp.

FILE* open_data ( const char *  fname,
const char *  mode,
access_scheme  scheme = AS_DATA_ONLY 
)

Definition at line 438 of file cpu.cpp.

References AS_DATA_LOCAL, AS_DATA_LOCAL_TRY, AS_DATA_ONLY, AS_DATA_ONLY_TRY, AS_DATA_OPTIONAL, AS_LOCAL_DATA, AS_LOCAL_DATA_TRY, AS_LOCAL_ONLY, AS_LOCAL_ONLY_TRY, cdEXIT, t_cpu::chSearchPath, cpu, DEBUG_ENTRY, ioQQQ, lgAbort, t_trace::lgTrace, t_cpu::nFileDone, t_cpu::printDataPath(), TotalInsanity(), and trace.

Referenced by atmdat_Chianti_readin(), atmdat_lamda_readin(), Badnell_rec_init(), cdGetLineList(), ContBandsCreate(), FeIIBandsCreate(), FillGFF(), GetStandardHeLines(), H2_CollidRateRead(), H2_He_coll_init(), H2_Read_hminus_distribution(), H2_ReadDissprob(), H2_ReadEnergies(), H2_ReadTransprob(), HeCollidSetup(), HelikeTransProbSetup(), HyperfineCreate(), t_yield::init_yield(), InitGrid(), iso_recomb_setup(), lgCompileAtmosphere(), lgCompileAtmosphereCoStar(), lgFileReadable(), lgValidAsciiFile(), lgValidBinFile(), mie_read_mix(), mie_read_opc(), mie_read_rfi(), mie_read_szd(), mie_write_opc(), Nemala_Start(), ParseInit(), ParseOptimize(), ParsePunch(), ParseState(), pnegopc(), ptrcer(), RauchInitializeSub(), rd_continue(), read_continuum_mesh(), read_hm05(), ReadAugerData(), ReadTable(), StarburstInitialize(), state_get_put(), t_ADfA::t_ADfA(), t_fe2ovr_la::t_fe2ovr_la(), and wr_continue().

Here is the call graph for this function:

void set_NaN ( double  x[],
long  n 
)

Definition at line 594 of file cpu.cpp.

References cpu, and t_cpu::Double_SNaN_Value.

void set_NaN ( double &  x  ) 

Definition at line 577 of file cpu.cpp.

References cpu, and t_cpu::Double_SNaN_Value.

void set_NaN ( sys_float  x[],
long  n 
)

Definition at line 559 of file cpu.cpp.

References cpu, and t_cpu::Float_SNaN_Value.

void set_NaN ( sys_float x  ) 

define routines for setting single and double precision signaling NaN The bit pattern for an SNaN is implementation defined, but this should work on most modern CPU's. The system definition is preferred, so in C++ this should be replaced by numeric_limits<TYPE>::signaling_NaN()

Definition at line 551 of file cpu.cpp.

References cpu, and t_cpu::Float_SNaN_Value.


Variable Documentation

const double BIGDOUBLE = DBL_MAX/100.

DBL_MAX is 1.797e308 on wintel so BIGDOUBLE is 1.797e306

Definition at line 127 of file cpu.h.

Referenced by atmdat_Chianti_readin(), CS_l_mixing_PS64(), DoBeckert_etal(), DoSutherland(), iso_collide(), ParseDynaWind(), and RandGauss().

const realnum BIGFLOAT = (realnum)(FLT_MAX/100.f)

set something that is too small to max of quantity and SMALLFLOAT, but then compare with SMALLFLOAT

Definition at line 122 of file cpu.h.

Referenced by cdLine(), database_prep(), DynaNewStep(), DynaStartZone(), DynaZero(), ffun(), FreeFreeGaunt(), H2_Create(), H2_DR(), hmole(), HydroRenorm(), HydroT2Low(), and ParseSet().

EXTERN class t_cpu cpu

Referenced by main(), MyIsnan(), open_data(), OUT_OF_RANGE(), ParseOptimize(), ParsePrint(), ParseSet(), t_cpu::printDataPath(), set_NaN(), and t_cpu::signal_handler().

const double SMALLDOUBLE = DBL_MIN*100.

Definition at line 128 of file cpu.h.

Referenced by ConvInitSolution(), helike_radrecomb_from_cross_section(), hlike_radrecomb_from_cross_section(), iso_collide(), iso_satellite_update(), ParseAssertResults(), and RT_OTS_Update().

const realnum SMALLFLOAT = (realnum)(FLT_MIN*100.f)

FLT_MIN is 1.175494351e-38 on wintel, so SMALLFLOAT is 1.175e-36

Definition at line 124 of file cpu.h.

Referenced by AbundancesPrt(), atmol_popsolve(), atom_pop3(), cdB21cm(), cdTemp(), CO_solve(), collision_strength_VF01(), ConvEdenIoniz(), ConvInitSolution(), ConvPresTempEdenIoniz(), CoolEvaluate(), CoolOxyg(), cross_section(), CS_l_mixing_PS64(), database_prep(), DynaNewStep(), DynaPresChngFactor(), DynaStartZone(), FeIILyaPump(), FeIIRadPress(), ffun(), H21_cm_pops(), H2_RadPress(), hmole(), hmole_reactions(), hydro_transprob(), HydroRenorm(), InitCoreload(), ion_trim(), IonNitro(), IonOxyge(), IonSulph(), iso_collapsed_lifetimes_update(), iso_level(), iso_satellite_update(), IterEnd(), lgMolecAver(), lines_continuum(), lines_lv1_li_ne(), MakeDeriv(), MeanInc(), molcol(), OccupationNumberLine(), ParseAssertResults(), ParseCosmicRays(), ParseSet(), ParseStop(), PressureRadiationLine(), PrtComment(), PrtLinePres(), punch_colden(), punch_line(), PunchDo(), RT_line_all(), RT_line_one(), RT_line_static(), RT_OTS(), RT_recom_effic(), SDIV(), and TexcLine().

const int STDLEN = 16

Definition at line 130 of file cpu.h.

Referenced by optimize_phymir(), rd_continue(), t_cpu::t_cpu(), and wr_continue().


Generated on Mon Feb 16 12:05:19 2009 for cloudy by  doxygen 1.4.7