whizard is hosted by Hepforge, IPPP Durham

Opened 9 years ago

Closed 9 years ago

#744 closed defect (fixed)

Failing CIRCE2 tests with quadruple precision

Reported by: Juergen Reuter Owned by: Juergen Reuter
Priority: P0 Milestone: v2.2.8
Component: core Version: 2.2.7
Severity: normal Keywords:
Cc:

Description

With gfortran only delta.run fails, with ifort 16.0.0 all except for circe2_tool.run

Change History (6)

comment:1 Changed 9 years ago by Juergen Reuter

Owner: changed from kilian to Juergen Reuter
Priority: P3P0
Status: newassigned

I will start looking into this, but probably will need the help of TO to understand what is going on.

comment:2 Changed 9 years ago by Juergen Reuter

The status is the following: the Intel compiler had some problems in quadruple precision as the I/O of the generated events was unformatted. As of r7246 this was corrected to formatted I/O. Also, one small correction had been made to the I/O format in order to fit the pull of all comparisons (also the part of the tests that are expected to fail). Now there is only one failing test at quadruple precision, consistently with gfortran and ifort, delta.run. Here, only extreme values (0 and 1) appear. For double and extended precision the variance is always smaller than epsilon(variance) while for quadruple precision the variance could become than a few 10-34 (being the epsilon of quadruple precision). The square root of this is than as small as (a few) 10-17 which results in too many too large pulls. If TO agrees my suggestion would be to introduce epsilon(double) as an upper cutoff for the variance to solve this problem.

Version 0, edited 9 years ago by Juergen Reuter (next)

comment:3 Changed 9 years ago by Juergen Reuter

Still waiting for TO's approval/comments ...

comment:4 Changed 9 years ago by Juergen Reuter

And still waiting ...

comment:5 Changed 9 years ago by ohl

Skipping the delta check in quadruple precision: r7266

comment:6 Changed 9 years ago by ohl

Resolution: fixed
Status: assignedclosed

Improve the comparison with 0 in circe2_moments. Don't expect estimates that are better than 200 * epsilon(1d0) (the 200 is guesswork, b/c I observed a 100 ...).

Committed in r7270.

Note: See TracTickets for help on using tickets.