<HTML>
I'll happily give it a shot, so long as I don't give myself too many side-projects that I forget more important things!<br>
<div><br>
</div><div>Gareth aka. Kit<br>
</div> <br>
<span style="font-weight: bold;">On Tue 07/08/18 22:06 , Kirinn kirinn@mooncore.eu sent:<br>
</span><blockquote style="BORDER-LEFT: #F5F5F5 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT:0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
<defanged_meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<defanged_body text="#000000" bgcolor="#FFFFFF">
<p>To be clear, 128-bit octawords and the like are not natively
supported on most consumer-oriented processors. To support 128-bit
operations, an extensive emulation layer would need to be set up,
not an easy task within the scope of a compiler and the RTL.</p>
<p>If you need 128-bit integer maths in the near future, your best
bet would be to write a quick and dirty implementation yourself
with records and operator overloading, as Sven described. Has
anyone done that yet? It might make an interesting unit for the
Free Component Library or something.</p>
<p>I note that SysUtils includes an "Int128Rec", which is a record
type for holding a 128-bit int. Looks like it's currently used
only by <span class="pl-en">InterlockedCompareExchange128.
Someone brave could expand upon that.</span></p>
<p><span class="pl-en">~Kirinn<br>
</span></p>
<br>
<div class="moz-cite-prefix">On 08/07/2018 03:11 PM, J. Gareth
Moreton wrote:<br>
</div>
<blockquote type="cite" cite="mid:11248.1533651112@web-cluster.fastnet.co.uk">
<defanged_meta http-equiv="content-type" content="text/html; charset=utf-8">
I
think there was talk at one point about implementing Float128 (or
"Quadruple") for Free Pascal, mostly for internal compiler
purposes. For OWords though (or is it EWords or DQWords?) I think
a library or package will be better initially. Still, it might be
something to consider if Intel or another processor manufacturer
introduce 128-bit number functions for XMM registers and
equivalent.<br>
<div><br>
</div>
<div>Gareth aka. Kit<br>
</div>
<br>
<br>
<span style="font-weight: bold;">On Tue 07/08/18 10:09 , Sven
Barth via fpc-devel <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a> sent:<br>
</span>
<blockquote style="BORDER-LEFT: #F5F5F5 2px solid; MARGIN-LEFT:
5px; MARGIN-RIGHT:0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
<div dir="auto">
<div>
<div class="gmail_quote">
<div dir="ltr">Aelita <<a href="mailto:aelita-x@narod.ru">aelita-x@narod.ru</a>>
schrieb am Di., 7. Aug. 2018, 09:53:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<br>
My name is Aelita and for many years I have been
fruitfully using your wonderful freepascal<br>
for my research in algebra, geometry and physics.<br>
Thank you for your inspirational work!<br>
<br>
I'm very interested in seeing the numbers Word128 and
Int128 appear in freepascal<br>
(with natural operations A*B, A div B, A mod B, A xor B,
A shl N, etc.)!<br>
<br>
Is there a chance that this will happen in the near
future?<br>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Using records and operator overloading you can
implement them yourself. No need to burden the compiler with
it. The only disadvantage would be the inability to use that
large literals... but that could be helped a bit with
conversions from floating points,at least if full accuracy
isn't required. </div>
<div dir="auto"><br>
</div>
<div dir="auto">Regards, </div>
<div dir="auto">
Sven </div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"> </blockquote>
</div>
</div>
</div>
_______________________________________________<br>
fpc-devel maillist - <a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a><br>
<a target="_blank" href="%3Ca%20href=" http:="" lists.freepascal.org="" cgi-bin="" mailman="" listinfo="" fpc-devel"="" moz-do-not-send="true">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>"><span style="color: red;"><a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a></span><br>
<br>
</blockquote>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
fpc-devel maillist - <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
</pre>
</defanged_meta></blockquote>
<br>
_______________________________________________<br>
fpc-devel maillist - <a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a><br>
<a target="_blank" href="<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>"><span style="color: red;">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</span></a><br>
<br>
</defanged_body></defanged_meta></blockquote></HTML>