Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: mhx@iae.nl (mhx) Newsgroups: comp.lang.forth Subject: Re: exercise in double number arithmetic Date: Sun, 7 Jul 2024 20:52:43 +0000 Organization: novaBBS Message-ID: <686af9fbeca7b6bb6d657b90a1d24d1c@www.novabbs.com> References: <8da4b31b5cb3f13d9c296278d6821e6f@www.novabbs.com> <06259926ff879b77247d41e9625b3364@www.novabbs.com> <1c9d7fdc4b5b9bc4cb38e1993a68fb15@www.novabbs.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="2503080"; mail-complaints-to="usenet@i2pn2.org"; posting-account="t0bSWFIQDvYvkkhDiPIIv6byulC6WbSEwXWMJpxc4k0"; User-Agent: Rocksolid Light X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Posting-User: 59549e76d0c3560fb37b97f0b9407a8c14054f24 X-Rslight-Site: $2y$10$a4lMeydkLA8IAHj4N6sKW.I6ijcNbBceWhUh4ZS3aSlBIt3htyGae Bytes: 8166 Lines: 161 OK, let's extend it a little. : CHS ( M N -- M!/{M-N}!/N! ) DUP local N - local M-N 1. N 1+ 1 DO M-N I + I M*/ LOOP ; FORTH> : test 131 2 do i i 2/ CHS CR I . 2dup H. H. space d. loop ; ok FORTH> test 2 $00000000$00000002 2 3 $00000000$00000003 3 4 $00000000$00000006 6 5 $00000000$0000000A 10 6 $00000000$00000014 20 7 $00000000$00000023 35 8 $00000000$00000046 70 9 $00000000$0000007E 126 10 $00000000$000000FC 252 11 $00000000$000001CE 462 12 $00000000$0000039C 924 13 $00000000$000006B4 1716 14 $00000000$00000D68 3432 15 $00000000$00001923 6435 16 $00000000$00003246 12870 17 $00000000$00005EF6 24310 18 $00000000$0000BDEC 48620 19 $00000000$000168DA 92378 20 $00000000$0002D1B4 184756 21 $00000000$000561CC 352716 22 $00000000$000AC398 705432 23 $00000000$0014A18E 1352078 24 $00000000$0029431C 2704156 25 $00000000$004F59AC 5200300 26 $00000000$009EB358 10400600 27 $00000000$013210BC 20058300 28 $00000000$02642178 40116600 29 $00000000$049F73E8 77558760 30 $00000000$093EE7D0 155117520 31 $00000000$11E9E123 300540195 32 $00000000$23D3C246 601080390 33 $00000000$458C00A6 1166803110 34 $00000000$8B18014C 2333606220 35 $00000000$000000010E75C9A2 4537567650 36 $00000000$000000021CEB9344 9075135300 37 $00000000$000000041D5EF65C 17672631900 38 $00000000$000000083ABDECB8 35345263800 39 $00000000$000000100C258D9A 68923264410 40 $00000000$00000020184B1B34 137846528820 41 $00000000$0000003EA955AF04 269128937220 42 $00000000$0000007D52AB5E08 538257874440 43 $00000000$000000F4F3092084 1052049481860 44 $00000000$000001E9E6124108 2104098963720 45 $00000000$000003BE7F5B5DD8 4116715363800 46 $00000000$0000077CFEB6BBB0 8233430727600 47 $00000000$00000EAA1D7B2F8E 16123801841550 48 $00000000$00001D543AF65F1C 32247603683100 49 $00000000$0000397C21A572BC 63205303218876 50 $00000000$000072F8434AE578 126410606437752 51 $00000000$0000E18483FF3844 247959266474052 52 $00000000$0001C30907FE7088 495918532948104 53 $00000000$0003755D946EB6F8 973469712824056 54 $00000000$0006EABB28DD6DF0 1946939425648112 55 $00000000$000D9638C720AA3C 3824345300380220 56 $00000000$001B2C718E415478 7648690600760440 57 $00000000$0035690281893C18 15033633249770520 58 $00000000$006AD20503127830 30067266499541040 59 $00000000$00D2148152D785F8 59132290782430712 60 $00000000$01A42902A5AF0BF0 118264581564861424 61 $00000000$033AC44F881661D0 232714176627630544 62 $00000000$0675889F102CC3A0 465428353255261088 63 $00000000$0CB764F927D82123 916312070471295267 64 $00000000$196EC9F24FB04246 1832624140942590534 65 $00000000$321847F48D727306 3609714217008132870 66 $00000000$64308FE91AE4E60C 7219428434016265740 67 $00000000$C56EC13C4B95E372 14226520737620288370 68 $00000001$8ADD8278972BC6E4 28453041475240576740 69 $00000003$0A72DCA497BCB3FC 56093138908331422716 70 $00000006$14E5B9492F7967F8 112186277816662845432 71 $0000000B$FE8C2D6CC84BE262 221256270138418389602 72 $00000017$FD185AD99097C4C4 442512540276836779204 73 $0000002F$5436F86EFAAEE514 873065282167813104916 74 $0000005E$A86DF0DDF55DCA28 1746130564335626209832 75 $000000BA$D329D4A89A2BA334 3446310324346630677300 76 $00000175$A653A95134574668 6892620648693261354600 77 $000002E1$B7FA82CE4684ED78 13608507434599516007800 78 $000005C3$6FF5059C8D09DAF0 27217014869199032015600 79 $00000B61$FD1D84AEC9C0439A 53753604366668088230810 80 $000016C3$FA3B095D93808734 107507208733336176461620 81 $00002CF9$CF237667B3042A54 212392290424395860814420 82 $000059F3$9E46ECCF660854A8 424784580848791721628840 83 $0000B1C2$F5BCEC5CE81CA74C 839455243105945545123660 84 $00016385$EB79D8B9D0394E98 1678910486211891090247320 85 $0002BEC7$3CA376D483CA9568 3318776542511877736535400 86 $00057D8E$7946EDA907952AD0 6637553085023755473070800 87 $000ADB2B$29FACA4866440904 13124252690842425594480900 88 $0015B656$53F59490CC881208 26248505381684851188961800 89 $002AF127$E4A16FC90BFC0CE8 51913710643776705684835560 90 $0055E24F$C942DF9217F819D0 103827421287553411369671120 91 $00A9E6A8$F7E2E6CD8875F048 205397724721029574666088520 92 $0153CD51$EFC5CD9B10EBE090 410795449442059149332177040 93 $02A05FCD$B450EDFC5D65CCB0 812850570172585125274307760 94 $0540BF9B$68A1DBF8BACB9960 1625701140345170250548615520 95 $0A657B38$E9C058B19C5D9F8E 3217533506933149454210801550 96 $14CAF671$D380B16338BB3F1C 6435067013866298908421603100 97 $29294B20$05F44F7B4682585C 12738806129490428451365214300 98 $52529640$0BE89EF68D04B0B8 25477612258980856902730428600 99 $A2FFAE9D$88381C06E4042AB4 50445672272782096667406248628 100 $0000000145FF5D3B$1070380DC8085568 100891344545564193334812497256 101 $00000002859A5942$C633922554ED5DD8 199804427433372226016001220056 102 $000000050B34B285$8C67244AA9DABBB0 399608854866744452032002440112 103 $00000009FD94B061$24DFFE0A0B84F3C4 791532924062974587678774064068 104 $00000013FB2960C2$49BFFC141709E788 1583065848125949175357548128136 105 $0000002795CF8F63$EDE1C7EDD6B304A8 3136262529306125724764953838760 106 $0000004F2B9F1EC7$DBC38FDBAD660950 6272525058612251449529907677520 107 $0000009CDFEAB382$88CA9D0D5C53AA28 12428892245768720464809261509160 108 $00000139BFD56705$11953A1AB8A75450 24857784491537440929618523018320 109 $0000026DCB4E7D0A$0B92CB96B3C4A270 49263609265046928387789436527216 110 $000004DB969CFA14$1725972D678944E0 98527218530093856775578873054432 111 $000009A0F8404B1E$ADE15DF0DAF0163C 195295022443578894680165266232892 112 $00001341F080963D$5BC2BBE1B5E02C78 390590044887157789360330532465784 113 $0000262D6385A799$143A3119491F38B8 774327632846470705223111406467256 114 $00004C5AC70B4F32$28746232923E7170 1548655265692941410446222812934512 115 $000097648AA81432$E647DD2F4E1AB4C8 3070609578529107968988200404956360 116 $00012EC915502865$CC8FBA5E9C356990 6141219157058215937976400809912720 117 $0002587062ABF954$B85E1ACCF9061F70 12178349853827309571919303301013360 118 $0004B0E0C557F2A9$70BC3599F20C3EE0 24356699707654619143838606602026720 119 $00094DBDCBAA29D0$0E86593E200FC0F8 48307454420181661301946569760686328 120 $00129B7B975453A0$1D0CB27C401F81F0 96614908840363322603893139521372656 121 $0024E8E02C2D90E5$7892E424A0C4CB30 191645966716130525165099506263706416 122 $0049D1C0585B21CA$F125C84941899660 383291933432261050330199012527412832 123 $009272B343EE99C0$07B22E5FC8361DF0 760401738905937245009910944207609328 124 $0124E56687DD3380$0F645CBF906C3BE0 1520803477811874490019821888415218656 125 $0245249EBC4D3D8C$4F4D3A0E5F91ABA0 3017467217880703353213932318284164000 126 $048A493D789A7B18$9E9A741CBF235740 6034934435761406706427864636568328000 127 $09026955FB528C44$DABA7E690B4A2123 11975573020964041433067793888190275875 128 $1204D2ABF6A51889$B574FCD216944246 23951146041928082866135587776380551750 129 $23C2ADEAF15F4854$40BCDA2EBA9873C6 47533812913980349072792166510047556550 130 $47855BD5E2BE90A8$8179B45D7530E78C 95067625827960698145584333020095113100 ok FORTH> 131 dup 2/ chs cr ud. 188694833082770476622296176145946360850 ( correct cf. WolframAlpha, but 132 66 CHS is incorrect ) -marcel