<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=windows-1250"
 http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Unfortunately, I have almost no experience with other programming than
TeX and mpost:-(<br>
<div dir="ltr"><br>
if numbersystem="decimal":</div>
<div dir="ltr"> numberprecision:=4;</div>
<div dir="ltr">fi;</div>
<br>
gives much better result, but still not as good as scaled.<br>
The computing takes much longer time, for numberprecision:=3 even
longer.<br>
Maybe some other member of the list could help?<br>
Karel Horak<br>
<br>
<br>
luigi scarso napsal(a):
<blockquote
 cite="mid:CAG5iGsAOW1Wy5PiJjM2ihq-5pbLd_q0oAE9VXD7vCx66bx1TuQ@mail.gmail.com"
 type="cite">
  <div dir="ltr">
  <div dir="ltr">
  <div dir="ltr">
  <div dir="ltr">
  <div dir="ltr">
  <div dir="ltr">
  <div dir="ltr">
  <div dir="ltr"><br>
  </div>
  <br>
  <div class="gmail_quote">
  <div dir="ltr" class="gmail_attr">On Tue, Mar 12, 2019 at 7:03 PM
Karel <<a moz-do-not-send="true" href="mailto:horakk@math.cas.cz">horakk@math.cas.cz</a>>
wrote:<br>
  </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">Dear
Luigi,<br>
    <br>
the following code<br>
    <br>
beginfig(0);<br>
path s;<br>
s:=fullcircle scaled 30mm;<br>
for k=0 upto 18: draw origin--point(arctime ((k/36)*arclength s) of s) <br>
of s; endfor<br>
endfig;<br>
end<br>
    <br>
gives very strange results when used with<br>
numbersystem=decimal or binary (mpost 2.00 for TeXlive 2019).<br>
    <br>
  </blockquote>
  <div><br>
  </div>
  <div><br>
  </div>
  <div>
  <div>if numbersystem="decimal":</div>
  <div> numberprecision:=8;</div>
  <div>fi;</div>
  <div>if numbersystem="binary":</div>
  <div> numberprecision:=8;</div>
  <div>fi;</div>
  <div>beginfig(0);<br>
  </div>
  <div>path s;</div>
  <div>s:=fullcircle scaled 30mm;</div>
  <div>%tracingall;</div>
  <div>message "==> "  & decimal(arclength s);</div>
  <div>for k=1 upto 1: </div>
  <div>message "==> "  & decimal(arctime((1/1)*arclength s) of
s);</div>
  <div>%%draw origin--point(arctime ((k/36)*arclength s) of s) of s; </div>
  <div>endfor</div>
  <div>endfig;</div>
  <div>end.</div>
  </div>
  <div><br>
  </div>
  <div><br>
  </div>
  <div>In mp.w :<br>
  </div>
  <div>
  <div>static void mp_get_arc_time (MP mp, mp_number *ret, mp_knot h,
mp_number arc0_orig)<br>
  </div>
  <div>:</div>
  <div><br>
  </div>
  <div>
  <div>      if (q == h) {       </div>
  <div>         @<Update |t_tot| and |arc| to avoid going around the
cyclic</div>
  <div>           path too many times but set |arith_error:=true| and
|goto done| on</div>
  <div>           overflow@>;     </div>
  </div>
  <div><br>
  </div>
  <div>@ @<Update |t_tot| and |arc| to avoid going around the
cyclic...@>=     <br>
  </div>
  <div>if (number_positive(arc)) { <br>
  </div>
  <div><br>
  </div>
  <div>when q==h</div>
  <div>decimal  arc = 0.000004<br>
  </div>
  <div>scaled:   arc = 0</div>
  </div>
  <div>This gives </div>
  <div>if (number_positive(arc)) true for decimal and false for scaled,
so we return with different times.<br>
  </div>
  <div><br>
  </div>
  <div>I don't know if  it's correct -- iirc this algorithm was 
designed for scaled  so different using numbersystems can give
different results --<br>
  </div>
  <div>or if it's not robust even for scaled.</div>
  </div>
  <div dir="ltr"><br>
  </div>
  <div>Try for example with </div>
  <div dir="ltr">
  <div dir="ltr">if numbersystem="decimal":</div>
  <div dir="ltr"> numberprecision:=4;</div>
  <div dir="ltr">fi;</div>
  <div><br>
  </div>
  </div>
  <br clear="all">
  <div><br>
  </div>
-- <br>
  <div dir="ltr" class="gmail_signature">luigi<br>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
  </div>
</blockquote>
<br>
</body>
</html>