Re: FP number syntax

Liste des GroupesRevenir à cl forth 
Sujet : Re: FP number syntax
De : anton (at) *nospam* mips.complang.tuwien.ac.at (Anton Ertl)
Groupes : comp.lang.forth
Date : 03. Jan 2025, 10:59:20
Autres entêtes
Organisation : Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID : <2025Jan3.105920@mips.complang.tuwien.ac.at>
References : 1 2 3 4 5 6
User-Agent : xrn 10.11
dxf <dxforth@gmail.com> writes:
Well, I consider mixed-math to be genius :)  Was it a Forth first -
or it pre-existed in some language/system?

I am not aware of any other non-assembly language that supports
mixed-width math.  Some other programming languages have multiple
integer or FP widths, but they tend to define their operations as
first converting to a common width, and then producing a result of the
same width.  This can be used to specify widening operations, e.g., as
follows (in C):

int64_t widening_mul(int32_t a, int32_t b)
{
   return a * (int64_t)b;
}

but the compiler has to do extra work to recognize that this is a
widening multiplication (rather than first sign-extending the operands
and then performing a 64bit*64bit->64bit multiplication).

And for division there is no way to specify the likes of UM/MOD or
SM/REM in C such that it can be implemented with just the DIV or IDIV
instruction (plus maybe register-register moves) of IA-32 or AMD64.

Mixed-width multiplication and division is a natural outcome of
implementing multiplication and division using repeated addition,
subtraction and shifting, and of course the first PDP-11
implementation, the 8086, 68000 and MIPS R2000, which implemented
these operations internally in that way, provide mixed-width
instructions for them.

More recent CPUs use different implementation techniques, so recent
architectures tend not to provide mixed-width division instructions.
They tend to have support for mixed-width multiplication (but usually
split that into two instructions), probably because it's important for
implementing wide multiplication, which is important for cryptography.

- anton
--
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: https://forth-standard.org/
   EuroForth 2024: https://euro.theforth.net

Date Sujet#  Auteur
8 Dec 24 * ANN: DX-Forth 4.5756dxf
9 Dec 24 `* Re: ANN: DX-Forth 4.5755Hans Bezemer
10 Dec 24  +* Re: ANN: DX-Forth 4.575dxf
10 Dec 24  i+- Re: ANN: DX-Forth 4.571albert
10 Dec 24  i`* Re: ANN: DX-Forth 4.573albert
10 Dec 24  i `* Re: ANN: DX-Forth 4.572dxf
11 Dec 24  i  `- Re: ANN: DX-Forth 4.571dxf
24 Dec 24  `* Re: ANN: DX-Forth 4.5749John
24 Dec 24   `* Re: ANN: DX-Forth 4.5748dxf
25 Dec 24    `* Re: ANN: DX-Forth 4.5747John
25 Dec 24     +* Re: ANN: DX-Forth 4.5745dxf
25 Dec 24     i`* FP number syntax (was: ANN: DX-Forth 4.57)44Anton Ertl
25 Dec 24     i +* Re: FP number syntax42minforth
26 Dec 24     i i`* Re: FP number syntax41dxf
26 Dec 24     i i +* Re: FP number syntax39Paul Rubin
26 Dec 24     i i i+* Re: FP number syntax36dxf
26 Dec 24     i i ii+* Re: FP number syntax30Paul Rubin
26 Dec 24     i i iii+* Re: FP number syntax2minforth
27 Dec 24     i i iiii`- Re: FP number syntax1dxf
26 Dec 24     i i iii`* Re: FP number syntax27Anton Ertl
27 Dec 24     i i iii +- Re: FP number syntax1dxf
27 Dec 24     i i iii +* Re: FP number syntax17Paul Rubin
27 Dec 24     i i iii i+* Re: FP number syntax5mhx
27 Dec 24     i i iii ii`* Re: FP number syntax4minforth
27 Dec 24     i i iii ii `* Re: FP number syntax3albert
27 Dec 24     i i iii ii  `* Re: FP number syntax2minforth
28 Dec 24     i i iii ii   `- Re: FP number syntax1albert
31 Dec 24     i i iii i`* Re: FP number syntax11Anton Ertl
1 Jan 25     i i iii i `* Re: FP number syntax10dxf
1 Jan 25     i i iii i  `* Re: FP number syntax9Bernd Linsel
1 Jan 25     i i iii i   `* Re: FP number syntax8dxf
1 Jan 25     i i iii i    +- Re: FP number syntax1dxf
1 Jan 25     i i iii i    `* Re: FP number syntax6Anton Ertl
1 Jan 25     i i iii i     +- Re: FP number syntax1HenryHH
1 Jan 25     i i iii i     `* Re: FP number syntax4dxf
1 Jan 25     i i iii i      +* Re: FP number syntax2mhx
1 Jan 25     i i iii i      i`- Re: FP number syntax1albert
1 Jan 25     i i iii i      `- Re: FP number syntax1dxf
27 Dec 24     i i iii `* Re: FP number syntax8albert
28 Dec 24     i i iii  +- Re: FP number syntax1dxf
31 Dec 24     i i iii  `* Re: FP number syntax6Anton Ertl
2 Jan 25     i i iii   `* Re: FP number syntax5Anton Ertl
3 Jan 25     i i iii    `* Re: FP number syntax4albert
3 Jan 25     i i iii     `* Re: FP number syntax3Anton Ertl
4 Jan 25     i i iii      +- Re: FP number syntax1minforth
4 Jan 25     i i iii      `- Re: FP number syntax1albert
3 Jan 25     i i ii`* Re: FP number syntax5dxf
3 Jan 25     i i ii +* Re: FP number syntax2minforth
3 Jan 25     i i ii i`- Re: FP number syntax1dxf
3 Jan 25     i i ii `* Re: FP number syntax2Anton Ertl
3 Jan 25     i i ii  `- Re: FP number syntax1minforth
26 Dec 24     i i i`* Re: FP number syntax2Anton Ertl
26 Dec 24     i i i `- Re: FP number syntax1dxf
26 Dec 24     i i `- Re: FP number syntax1mhx
25 Dec 24     i `- Re: FP number syntax (was: ANN: DX-Forth 4.57)1albert
26 Dec 24     `- Re: ANN: DX-Forth 4.571dxf

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal