Skip to content

VecGeom can be compiled in single precision mode using -DSINGLE_PRECISION=ON.

Andrei Gheata requested to merge single_precision into master

This branch changes typedef Precision from the default double type to float when configuring with SINGLE_PRECISION=ON. This changes consistently all associated types and interfaces to work in single precision. The changes do NOT affect the default VecGeom behavior in double precision.
In this mode, several tolerances were adapted to match the new precision (e.g. kTolerance was decreased to 1E-3). Still, many tests are failing due to rounding errors. Fixing those and understanding the limitations of this mode in navigation is a long task thus postponed for later.

The failing tests are currently:
74/129 Test #74: ConcaveSExtruBenchmark ..............................Failed 1.46 sec
76/129 Test #76: ParaboloidScriptBenchmark ...........................Failed 1.75 sec
77/129 Test #77: ParallelepipedBenchmark .............................Failed 1.67 sec
79/129 Test #79: TubeBenchmark .......................................Failed 1.57 sec
80/129 Test #80: TorusBenchmark2 .....................................Failed 1.51 sec
81/129 Test #81: TrapezoidBenchmark ..................................Failed 2.01 sec
83/129 Test #83: OrbBenchmark ........................................Failed 1.54 sec
84/129 Test #84: SphereBenchmark .....................................Failed 1.45 sec
85/129 Test #85: HypeBenchmark .......................................Failed 1.42 sec
87/129 Test #87: ConeBenchmark .......................................Failed 1.50 sec
89/129 Test #89: ScaledBenchmark .....................................Failed 1.47 sec
91/129 Test #91: CutTubeBenchmark ....................................Failed 1.48 sec
92/129 Test #92: PolyconeBenchmark ...................................Failed 1.43 sec
98/129 Test #98: PlanesTest ..........................................Failed 0.01 sec
106/129 Test #106: TestVecGeomPolycone .................................Child aborted Exception: 0.15 sec
124/129 Test #124: TestOrb .............................................Child aborted Exception: 0.15 sec
125/129 Test #125: TestPolycone ........................................Child aborted Exception: 0.15 sec
129/129 Test #129: TestGenTrap .........................................Child aborted Exception: 0.15 sec

This branch addresses VECGEOM-559

Edited by Andrei Gheata

Merge request reports