Posted to tcl by mookie at Mon Nov 10 00:11:23 GMT 2025view raw
- proc S a\ b {set f [string triml [join [lmap x [split [format %0[set l [string le [expr max(abs($a),abs($b))]]]lld [expr abs($a)]] ""] y [split [format %0$l\lld [expr abs($b)]] ""] {format %02d [expr $x*$y]}] ""] 0]
- set s [expr {$f==""?0:$f}]
- expr $a<0^$b<0?-$s:$s}
-
- lmap a\ b {
- 0 0
- 302 40
- 302 -40
- -4352 448
- 0 6623
- 0 -6623
- 20643 -56721
- 63196 21220
- 1276 933024
- -1276 933024
- -1276 -933024
- 5007204555 350073039
- -612137119 -8088606033
- 3389903661 -6619166963
- -23082746128560880381 1116941217
- -668336881543038127783364011867 896431401738330915057436190556
- 402878826066336701417493206805490000415 312487283677673237790517973105761463808
- } {puts "$a $b => [S $a $b]"}
Add a comment