view interps/linguine/mult.lng @ 5674:91d4a5b788c9

<tswett> echo \'[11,11,11,15,15,23,12],[5,5,5,3,53,45,16,26,00,20,15,16,22,25,45,91,32,11,15,27,06,01,11,01,47,22,30,13,43,21,11,13,29,61,65,17,19,12,28,17,11,01,23,20,16,20,81,18,32,25,58,22.,1985,10.301350435,1555466973690094680980000956080767,13720946704494913791885940266665466978579582015128512190078...\' > wisdom/code
author HackBot
date Wed, 24 Jun 2015 14:47:46 +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