Boost are rather difficult for numeric analysis and they do behave poorly. They cal subtract two close numbers. So in order to check that inverse is inverse and that norm is conversed we need arbitrary precision numbers. At the moment number is used it lacks proper way of comparing number and current hacks don't work very well:
Rapidity
Norm conserved: FAIL (0.57s)
*** Failed! Falsified (after 37 tests and 11 shrinks):
Rapidity {getRapidity = 2.0}
(0.0,16.9)
norm = -285.61
norm' = -285.6099999999999
Use --quickcheck-replay=153124 to reproduce.
Boost are rather difficult for numeric analysis and they do behave poorly. They cal subtract two close numbers. So in order to check that inverse is inverse and that norm is conversed we need arbitrary precision numbers. At the moment
number
is used it lacks proper way of comparing number and current hacks don't work very well: