View Issue Details

IDProjectCategoryView StatusLast Update
0000948MetaPostbugpublic2017-05-18 13:54
Reporterlinus Assigned To 
Status newResolutionopen 
Summary0000948: defines a wrong round function
DescriptionThe last version that I could find (% $Id:,v 1.9 2005/04/28 06:45:21 taco Exp $) defines:

vardef round primary u = u enddef;
vardef hround primary x = x enddef;
vardef vround primary y = y enddef;

But this should probably be (according to the METAFONTbook):

vardef round primary u =
 if numeric u: floor(u+.5)
 elseif pair u: (hround xpart u, vround ypart u)
 else: u fi enddef;
vardef hround primary x = floor(x+.5) enddef;
vardef vround primary y = floor(y.o_+.5)_o_ enddef;

Steps To Reproducempost '&mfplain \mode:=localfont; input font'

where contains the following line:

message decimal(round(4.2));

This will output 4.2 instead of 4
Additional InformationTaco Hoekwater had probably his reasons to do so. Probably one should ask him before changing
TagsNo tags attached.


luigi scarso

2015-10-15 08:59

manager   ~0001422

Thank you very much. I will see asap.

luigi scarso

2017-05-18 13:54

manager   ~0001673

Taco says
there is no rounding in mp because it is not needed
mf rounds because of the bitmap grid
at least that was JDH's take on it
I will leave unmodified these functions, perhaps I cann add MFround etc.

Issue History

Date Modified Username Field Change
2015-10-13 22:47 linus New Issue
2015-10-15 08:59 luigi scarso Note Added: 0001422
2017-05-18 13:54 luigi scarso Note Added: 0001673