<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Folks,<br>
<br>
Thanks Luciano and Nicolas for finding the problem and the solution.<br>
<br>
I just pushed an update to GitHub. Just removed senders _and_
implementors of #\\\. That method doesn't carry its own weight. I
also wrote a test with Luciano's example.<br>
<br>
Cheers,<br>
<br>
On 6/5/2023 2:17 PM, Luciano Notarfrancesco via Cuis-dev wrote:
<blockquote
cite="mid:CAL5GDyo=erwpMBOth5t5zVnY6kTrq9vW78bfcRn3W9+SVS_q2Q@mail.gmail.com"
type="cite">
<div dir="auto">Makes sense, thank you!</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, 5 Jun 2023 at 19:11
Nicolas Cellier <<a moz-do-not-send="true"
href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</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 dir="ltr">I replaced ALL sends, not just this one,
because it's putting too much responsibility for senders
for a very weak gain<br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Le lun. 5 juin 2023
à 19:09, Luciano Notarfrancesco <<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com" target="_blank">luchiano@gmail.com</a>>
a écrit :<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 dir="auto">Ah, good to know, you replaced all calls
to \\\ with \\ in all methods or only this one? We
should do the same in Cuis. Still, the randomness
mystery remains…</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, 5 Jun 2023
at 19:04 Nicolas Cellier via Cuis-dev <<a
moz-do-not-send="true"
href="mailto:cuis-dev@lists.cuis.st"
target="_blank">cuis-dev@lists.cuis.st</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 dir="ltr">
<div>Ah OK... I expunged the sends of \\\
operator from Squeak.<br>
</div>
<div>This is exactly like \\ but omits
normalization of LargeInteger result...</div>
<div>Below is the comment that i let in \\\
definition:</div>
<div><br>
</div>
<div><br>
"A modulo method former used in DSA."<br>
<br>
"Notes: this method used to be a faster than
\\ for LargeIntegers, but this advantage is
fainting:<br>
- it always was slower for SmallInteger
because of the indirection below<br>
- a new LargeInteger primitive makes \\ faster
up to 64 bits operands<br>
- even above 64 bits, its advantage has become
marginal thanks to revised \\ primitive
fallback code<br>
Moreover, \\\ behaviour is questionable for
these reasons:<br>
- for a negative receiver xor argument, it
behaves like rem: for LargeInteger and \\ for
SmallInteger<br>
- it may answer a not normalized LargeInteger
(with leading null digits) which breaks some
invariants<br>
For example, check (SmallInteger maxVal + 1
\\\ 8) isZero.<br>
So beware if you ever think using this
method."<br>
</div>
<br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Le lun. 5 juin
2023 à 18:56, Luciano Notarfrancesco via
Cuis-dev <<a moz-do-not-send="true"
href="mailto:cuis-dev@lists.cuis.st"
target="_blank">cuis-dev@lists.cuis.st</a>>
a écrit :<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 dir="auto">Doing</div>
<div dir="auto"> pow := pow * pow \\ m</div>
<div dir="auto">instead of</div>
<div dir="auto"> pow := pow * pow \\\ m</div>
<div dir="auto">at the beginning of the loop
in
Integer>>#slidingLeftRightRaisedTo:modulo:
seems to fix it. But still I’m not sure why
it is random otherwise, and I’m not sure
that this really fixes the problem.</div>
<div dir="auto"><br>
</div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon,
5 Jun 2023 at 18:42 Luciano
Notarfrancesco <<a
moz-do-not-send="true"
href="mailto:luchiano@gmail.com"
target="_blank">luchiano@gmail.com</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 dir="auto">The following:</div>
5445648384 raisedTo: 3 modulo: 1
<< 34
<div dir="auto">Returns 0, which is
right. But</div>
<div dir="auto"><span
style="border-color: rgb(0, 0, 0);
color: rgb(0, 0, 0);"> 5445648384
raisedTo: 4 modulo: 1 << 34</span><br>
</div>
<div dir="auto"><span
style="border-color: rgb(0, 0, 0);
color: rgb(0, 0, 0);">Returns
different numbers every time I call
it (it should return 0).</span></div>
<div dir="auto"><span
style="border-color: rgb(0, 0, 0);
color: rgb(0, 0, 0);">It’s very
weird… I don’t see where the
randomness is coming from, perhaps
from LargeIntegerPlugin?</span></div>
<div dir="auto"><span
style="border-color: rgb(0, 0, 0);
color: rgb(0, 0, 0);"><br>
</span></div>
<div dir="auto"><span
style="border-color: rgb(0, 0, 0);
color: rgb(0, 0, 0);"><br>
</span></div>
</blockquote>
</div>
</div>
-- <br>
Cuis-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:Cuis-dev@lists.cuis.st"
target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a moz-do-not-send="true"
href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote>
</div>
-- <br>
Cuis-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:Cuis-dev@lists.cuis.st"
target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a moz-do-not-send="true"
href="https://lists.cuis.st/mailman/listinfo/cuis-dev"
rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
</body>
</html>