3a: Modular and Signed Ints
+egcd
+egcdAccepts
Produces
Source
++ egcd
|= [a=@ b=@]
=+ si
=+ [c=(sun a) d=(sun b)]
=+ [u=[c=(sun 1) d=--0] v=[c=--0 d=(sun 1)]]
|- ^- [d=@ u=@s v=@s]
?: =(--0 c)
[(abs d) d.u d.v]
=+ q=(fra d c)
%= $
c (dif d (pro q c))
d c
u [(dif d.u (pro q c.u)) c.u]
v [(dif d.v (pro q c.v)) c.v]
==Examples
+fo
+foAccepts
Source
+dif:fo
+dif:foAccepts
Produces
Source
Examples
+exp:fo
+exp:foAccepts
Produces
Source
Examples
+fra:fo
+fra:foAccepts
Produces
Source
Examples
+inv:fo
+inv:foAccepts
Produces
Source
Examples
+pro:fo
+pro:foAccepts
Produces
Source
Examples
+sit:fo
+sit:foAccepts
Produces
Source
Examples
+sum:fo
+sum:foAccepts
Produces
Source
Examples
+si
+siSource
Discussion
+abs:si
+abs:siAccepts
Produces
Source
Examples
+dif:si
+dif:siAccepts
Produces
Source
Examples
+dul:si
+dul:siExamples
Produces
Source
Examples
+fra:si
+fra:siAccepts
Produces
Source
Examples
+new:si
+new:siAccepts
Produces
Source
Examples
+old:si
+old:siAccepts
Produces
Source
Examples
+pro:si
+pro:siAccepts
Source
Examples
+rem:si
+rem:siAccepts
Produces
Source
Examples
+sum:si
+sum:siAccepts
Produces
Source
Examples
+sun:si
+sun:siAccepts
Produces
Source
Examples
+syn:si
+syn:siAccepts
Produces
Source
Examples
+cmp:si
+cmp:siAccepts
Produces
Source
Examples
Last updated