[metapost] Long numerical tokens with new number systems
Toby Thurston
thurston at eml.cc
Sat Aug 15 21:52:11 CEST 2015
The syntax for <numeric token> that MP inherits from Metafont allows for "one or more" decimal digits in the fractional part of a number. So it's legal to write:
numeric pi;
pi = 3.141592653589793238462643383279502884197169399375105820974944592;
show pi;
This works ok with all the number systems except "decimal" which complains about excessive precision.
Here's what I get with each number system
>> "scaled"
>> 3.14159 )
>> "double"
>> 3.1415926535897931 )
>> "binary"
>> 3.1415926535897932384626433832795028 )
>> "decimal"
! Number is too precise (numberprecision = 34).
l.80 ...643383279502884197169399375105820974944592
;
?
>> 3.141592653589793238462643383279503 )
Doesn't this behaviour seem to be a bit inconsistent?
Clearly, with decimal it would be possible to avoid the error message by writing this sort of thing:
if numbersystem="decimal": numberprecision := 64; fi
before defining the constant, but it would be nice to have a consistent syntax across all number systems.
One other thing that I notice is that the final digit rounding looks wrong for double and binary.
Any comments?
Thanks, Toby
More information about the metapost
mailing list