Problem 86

Summary: floating point exceptions
Product: Geant4 Reporter: paetzold
Component: global/managementAssignee: Gabriele Cosmo <Gabriele.Cosmo>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: P2    
Version: 1.0   
Hardware: DEC   
OS: OSF/1   

Description paetzold 2000-04-11 04:02:01 CEST
In calculating Interaction length I got floating point exeptions in:
G4VDiscreteProcess::PostStepGetPhysicalInteractionLength
I traced this error and I realized that the highest double number is multiplied
by a number greater 1.
This number was supplied by some GetMeanFreePath function of a process
I solved this problem by setting the DBL_MAX to a smaller value, wich should be
ok.
I am using gcc-2.95.2 on osf1, because cxx give only problems.
I know this is not supported, but as I said with cxx I was even not able to
run the examples. Is there somthing which is against using gcc and making this
change
Comment 1 Gabriele Cosmo 2000-04-11 08:10:59 CEST
Geant4 coding conventions and installation setup explicitly follow the
ANSI/IEEE-754 Standard for the initialization of floating-point arithmetic
hardware and portability. The Standard foresees floating-point arithmetic
to be nonstop and underflows to be gradual.
On DEC platforms the ANSI/IEEE-754 Standard compliance needs to be explicitly
set (since deactivated by default), we use infact the option "-ieee" on
the DEC/cxx native C++ compiler to achieve this.
You should check if your compiler provides compilation options for activating
Standard initialization of FP arithmetic (it can be DEC specific).