<!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>