view interps/linguine/mult.lng @ 11688:06331fefa90d draft

<b_jonas> perl -e for $e ("i","u"){ $f="bin/date$e"; open my$i,"<",$f or die "error open $f r"; local$/; $s=<$i> or die; $s=~s/"\\+%Y/\\${1:+-d "\\$1"} $&/ or die; open $o,">",$f or die "error open $f w: $!"; print $o $s or die; close $o or die; print "OK $f\\n" }
author HackEso <hackeso@esolangs.org>
date Fri, 04 Jan 2019 21:30:13 +0000
parents 859f9b4339e6
children
line wrap: on
line source

'General multiplication and integer division routines
'Programmed by Jeffry Johnston, 2005

'test -12 / 3 = -4
1[-1=2,-2=-12,-3=3]200
2[-2#]0

'Multiply: -2 *= *-3
'-1=return jump, -4=temp, -5=temp
100[-4=*-3,-5=*-2,-2=0,-4<0:101]102
101[-4~0:*-1,-2-*-5,-4+1]101 '-3 is negative
102[-4~0:*-1,-2+*-5,-4-1]102 '-3 is positive 

'Divide: -2 /= *-3
'-1=return jump, -4=temp, -5=temp
200[-4=*-2,-2=0,-5=0,-4<0:201,-3<0:204]202
201[-5-*-4,-4=*-5,-3<0:205]203
202[-4<*-3:*-1,-4-*-3,-2+1]202
203[-4<*-3:*-1,-4-*-3,-2-1]203
204[-5-*-3,-3=*-5]203
205[-5=0,-5-*-3,-3=*-5]202