Re: exercise in double number arithmetic

Liste des GroupesRevenir à cl forth 
Sujet : Re: exercise in double number arithmetic
De : krishna.myneni (at) *nospam* ccreweb.org (Krishna Myneni)
Groupes : comp.lang.forth
Date : 11. Jul 2024, 13:47:11
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6ok8g$2fbdd$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10
User-Agent : Mozilla Thunderbird
On 7/10/24 08:08, dxf wrote:
On 10/07/2024 6:41 pm, dxf wrote:
On 10/07/2024 5:51 pm, Gerry Jackson wrote:
>
[...] I found I had another definition for D/MOD from Forth Dimensions Vol 14 Issue 6, p 27 "Math - Who Needs It"
https://www.forth.org/fd/FD-V14N6.pdf
I've no idea how good it is
  Here's the source file (32MATH.SEQ) for those interested:
>
https://pastebin.com/mfU8FZ1x
 Here's one I had lying around.  Not sure if I used it so may require checking
first!  The 2variable is an eye-sore.  Perhaps someone can eliminate it without
resorting to locals :)
 2variable d
 \ Divide quad by double. Unsigned.
: DUM/MOD ( uq ud -- udrem udquot )
   d 2! [ 16 cells ] literal 0 do
     dup >r  2swap  dup >r  d2*  2swap d2*
     r> 0<  dup d-  2dup d 2@  du< 0=  r> 0<  or
     if  d 2@ d-  2swap 1 0 d+ 2swap  then
   loop  2swap ;
 \ Divide doubles. Unsigned.
: DU/MOD ( ud1 ud2 -- udrem udquot )
   0 0 2swap dum/mod ;
 \ Divide doubles. Signed. Symmetric.
: D/MOD ( d1 d2 -- drem dquot )
   2 pick  2dup xor 2>r  dabs  2swap dabs
   2swap du/mod  r> 0< if  dnegate  then
   r> 0< if  2swap dnegate 2swap  then ;
 
This is interesting. I had recently implemented the non-standard word UD/MOD based on the corresponding word in Gforth. Thus, I have the double length division words,
UM/MOD ( ud u -- urem uquot )
   standard word for dividing unsigned double length by single length;
   return unsigned single length remainder and quotient.
UD/MOD ( ud u -- urem udquot )
   non-standard word for dividing unsigned double length by single;
   return unsigned single remainder and double quotient.
UM/MOD can have an overflow, while UD/MOD cannot overflow, but neither of the two words above can divide two double length numbers. The DUM/MOD and D/MOD words do what I'm looking for, in principle -- I don't know if they actually work. We need some tests. Also, the word naming doesn't seem to follow any real convention and the operation of each word can't be discerned from the name.
--
Krishna

Date Sujet#  Auteur
6 Jul 24 * exercise in double number arithmetic69Krishna Myneni
6 Jul 24 +* Re: exercise in double number arithmetic16Ahmed
7 Jul 24 i`* Re: exercise in double number arithmetic15Krishna Myneni
7 Jul 24 i +* Re: exercise in double number arithmetic13Ahmed
7 Jul 24 i i`* Re: exercise in double number arithmetic12Krishna Myneni
7 Jul 24 i i +* Re: exercise in double number arithmetic10Gerry Jackson
8 Jul 24 i i i`* Re: exercise in double number arithmetic9Krishna Myneni
10 Jul 24 i i i `* Re: exercise in double number arithmetic8Gerry Jackson
10 Jul 24 i i i  `* Re: exercise in double number arithmetic7dxf
10 Jul 24 i i i   +- Re: exercise in double number arithmetic1Krishna Myneni
10 Jul 24 i i i   `* Re: exercise in double number arithmetic5dxf
11 Jul 24 i i i    `* Re: exercise in double number arithmetic4Krishna Myneni
11 Jul 24 i i i     `* Re: exercise in double number arithmetic3minforth
12 Jul 24 i i i      `* Re: exercise in double number arithmetic2Krishna Myneni
12 Jul 24 i i i       `- Re: exercise in double number arithmetic1minforth
7 Jul 24 i i `- Re: exercise in double number arithmetic1Ahmed
7 Jul 24 i `- Re: exercise in double number arithmetic1minforth
6 Jul 24 +* Re: exercise in double number arithmetic3Ahmed
7 Jul 24 i`* Re: exercise in double number arithmetic2Krishna Myneni
7 Jul 24 i `- Re: exercise in double number arithmetic1Ahmed
7 Jul 24 +* Re: exercise in double number arithmetic14mhx
7 Jul 24 i`* Re: exercise in double number arithmetic13Ahmed
7 Jul 24 i +- Re: exercise in double number arithmetic1mhx
7 Jul 24 i +* Re: exercise in double number arithmetic2minforth
7 Jul 24 i i`- Re: exercise in double number arithmetic1Ahmed
7 Jul 24 i `* Re: exercise in double number arithmetic9Ahmed
7 Jul 24 i  `* Re: exercise in double number arithmetic8Ahmed
7 Jul 24 i   `* Re: exercise in double number arithmetic7mhx
7 Jul 24 i    +- Re: exercise in double number arithmetic1Ahmed
8 Jul 24 i    `* Re: exercise in double number arithmetic5Krishna Myneni
8 Jul 24 i     `* Re: exercise in double number arithmetic4Ahmed
8 Jul 24 i      +- Re: exercise in double number arithmetic1minforth
8 Jul 24 i      `* Re: exercise in double number arithmetic2Krishna Myneni
8 Jul 24 i       `- Re: exercise in double number arithmetic1Ahmed
14 Jul 24 `* Re: exercise in double number arithmetic35Marc Olschok
14 Jul 24  +- Re: exercise in double number arithmetic1Marc Olschok
15 Jul 24  +* Re: exercise in double number arithmetic12Krishna Myneni
15 Jul 24  i+* Re: exercise in double number arithmetic8minforth
15 Jul 24  ii`* Re: exercise in double number arithmetic7minforth
15 Jul 24  ii `* Re: exercise in double number arithmetic6Ahmed
15 Jul 24  ii  `* Re: exercise in double number arithmetic5minforth
15 Jul 24  ii   +- Re: exercise in double number arithmetic1minforth
15 Jul 24  ii   +- Re: exercise in double number arithmetic1Ahmed
15 Jul 24  ii   `* Re: exercise in double number arithmetic2albert
15 Jul 24  ii    `- Re: exercise in double number arithmetic1minforth
15 Jul 24  i+- Re: exercise in double number arithmetic1Anton Ertl
15 Jul 24  i+- Re: exercise in double number arithmetic1Gerry Jackson
31 Jul 24  i`- Re: exercise in double number arithmetic1Marc Olschok
15 Jul 24  `* Re: exercise in double number arithmetic21minforth
15 Jul 24   `* recursion (was: exercise in double number arithmetic)20Anton Ertl
15 Jul 24    +* Re: recursion10Marc Olschok
15 Jul 24    i`* Re: recursion9Ruvim
15 Jul 24    i +* Re: recursion5Gerry Jackson
15 Jul 24    i i+* Re: recursion2Gerry Jackson
16 Jul 24    i ii`- Re: recursion1Gerry Jackson
16 Jul 24    i i`* Re: recursion2Ruvim
16 Jul 24    i i `- Re: recursion1dxf
16 Jul 24    i +- Re: recursion1mhx
16 Jul 24    i `* Re: recursion2Ruvim
16 Jul 24    i  `- Re: recursion1Ruvim
16 Jul 24    `* Re: recursion9sjack
16 Jul 24     +- Re: recursion1sjack
16 Jul 24     +* Re: recursion4minforth
16 Jul 24     i`* Re: recursion3sjack
16 Jul 24     i `* Re: recursion2minforth
16 Jul 24     i  `- Re: recursion1mhx
17 Jul 24     `* Re: recursion3dxf
22 Jul 24      `* Re: recursion2Stephen Pelc
22 Jul 24       `- Re: recursion1Anton Ertl

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal