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/

Attachment: signature.asc
Description: PGP signature

Reply via email to