<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <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">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <style> BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }</style>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" moz-do-not-send="true">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"
          moz-do-not-send="true">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>
    </blockquote>
    <br>
  </body>
</html>