chiunque può descrivere la differenza di comportamento tra BOOST_CHECK_CLOSE
e BOOST_CHECK_CLOSE_FRACTION
? The documentation implica che entrambe le macro trattino il loro terzo parametro in modo identico, il che mi fa sospettare che la documentazione sia errata.Differenza tra BOOST_CHECK_CLOSE e BOOST_CHECK_CLOSE_FRACTION?
In particolare, BOOST_CHECK_CLOSE_FRACTION
mi dà qualche strani risultati cercando:
error in "...": difference between *expected{0} and *actual{-1.7763568394002506e-16} exceeds 9.9999999999999995e-07
c'è un Gotcha perché mi aspetto un risultato pari a zero? Non ho avuto successo nel leggere le dichiarazioni macro sottostanti. Nota: BOOST_CHECK_SMALL
non è appropriato per il mio caso d'uso (confronto di due vettori dopo un'operazione di algebra lineare).
Grazie per la risposta. Sembra che lo zero causi il problema e che un comportamento simile si verifichi con un argomento zero sia per BOOST \ _CHECK \ _CLOSE che BOOST \ _CHECK \ _CLOSE \ _FRACTION –