Is this test actually right? Shouldn't it be Angle::Gradians? CHECK_THROWS( WallsSurveyParser("400g").azimuth(Angle::Degrees) )
same for; CHECK_THROWS( WallsSurveyParser("-0.00001g").azimuth(Angle::Degrees) ); CHECK_THROWS( WallsSurveyParser("N100gE").azimuth(Angle::Degrees) ); I tried changing the test to: CHECK_THROWS( WallsSurveyParser("400g").azimuth(Angle::Gradians) ) CHECK_THROWS( WallsSurveyParser("400").azimuth(Angle::Gradians) ) but they both still fail. Changing the tests to this: CHECK_THROWS( WallsSurveyParser("360.00001").azimuth(Angle::Degrees) ); CHECK_THROWS( WallsSurveyParser("-0.00001").azimuth(Angle::Degrees) ); CHECK_THROWS( WallsSurveyParser("400.00001g").azimuth(Angle::Gradians) ); CHECK_THROWS( WallsSurveyParser("-0.00001g").azimuth(Angle::Gradians) ); CHECK_THROWS( WallsSurveyParser("N90.00001E").azimuth(Angle::Degrees) ); CHECK_THROWS( WallsSurveyParser("N100.00001gE").azimuth(Angle::Gradians) ); makes them all pass. Which strongly suggsts that this really is a rounding problem on i386. I could experiment further to try and determine the size of the rounding error. I could leave this bodge in in order to get i386 built and dewalls migrated into testing, but it would be better to actually fix the problem if possible. I could also arrange not to run the tests on i386. Wookey -- Principal hats: Linaro, Debian, Wookware, ARM http://wookware.org/
signature.asc
Description: PGP signature