<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 28 Apr 2024 at 17:21, Toby Thurston <<a href="mailto:thurston@eml.cc">thurston@eml.cc</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>This recent question on TexSE seems to have uncovered an anomaly in the way that MP computes the `arclength` of cyclic paths when using any of the new number systems.  <div><br></div><div><a href="https://tex.stackexchange.com/q/716630/15036" target="_blank">https://tex.stackexchange.com/q/716630/15036</a></div><div><br></div><div><br>The poster supplied this example code</div><div><br></div><div><div><font face="Courier New">beginfig(1);</font></div><div><font face="Courier New">path p;</font></div><div><font face="Courier New">p = (0,0){up}..{right}(200,100)..{up}(300,400)..cycle;</font></div><div><font face="Courier New">len := arclength p;</font></div><div><font face="Courier New">s := arctime (2500) of p;</font></div><div><font face="Courier New">t := arctime (len+2500) of p;</font></div><div><font face="Courier New">draw p;</font></div><div><font face="Courier New">show len;% 2799</font></div><div><font face="Courier New">show s;% 2.92...</font></div><div><font face="Courier New">show t;% 2.67...</font></div><div><font face="Courier New">show arctime arclength p of p;</font></div><div><font face="Courier New">show numbersystem;</font></div><div><font face="Courier New"><br></font></div><div><font face="Courier New">endfig;</font></div><div><font face="Courier New">end</font></div></div><div><br></div><div><div>With the default number system the value of t is 5.92... as you might expect, but with any of the new number systems the value is 2.67.....</div></div><div><br></div><div>The original poster as TeX.SE was using MP 2.02 but I I see this behaviour with <span style="font-family:inherit;font-style:inherit;font-variant-caps:inherit;white-space:inherit;color:rgb(12,13,14)"> MetaPost, version 2.10 (TeX Live 2024).</span></div><div><span style="font-family:inherit;font-style:inherit;font-variant-caps:inherit;white-space:inherit;color:rgb(12,13,14)"><br></span></div><div><span style="font-family:inherit;font-style:inherit;font-variant-caps:inherit;white-space:inherit;color:rgb(12,13,14)">Toby</span></div></div>--<br>
<a href="http://tug.org/metapost/" rel="noreferrer" target="_blank">http://tug.org/metapost/</a></blockquote><div><br></div><div>Hm I fear that </div><div> @<Update |arc| and |t_tot| after |do_arc_test| has just returned |t|@>;</div><div>implicitly uses the fact that scaled is an integer type, i.e.</div><div>set_number_from_div (n1, arc, d1); /* n1 = (arc / d1) */<br></div><div>and </div><div>number_add (v1, epsilon_t);       /* v1 = n1+1 */<br></div><div>look suspicious in double mode  ( epsilon_t is not 1 but 2^-52, 1 is unity  )</div><div><br></div><div>--</div><div>luigi</div></div></div>