1
(int, int) f(int a, int b, int c, int d, int e, int f) {
2
;; solve a 2x2 linear equation
4
int Dx = e * d - b * f;
5
int Dy = a * f - e * c;
6
return (Dx / D, Dy / D);
11
repeat (70) { n *= 10; }
16
return muldivr(p, n, q);
21
repeat (70) { n *= 10; }
27
return muldivr(p, n, q);
32
repeat(70) { base *= 10; }
33
var (a, b, c) = (1, 0, - m);
34
var (p1, q1, p2, q2) = (1, 0, 0, 1);
37
var (a1, b1, c1) = (0, 0, 0);
40
(a1, b1, c1) = (a, b, c);
44
(a, b, c) = (- c1, - b1, - a1);
45
(p1, q1) = (k * p1 + q1, p1);
46
(p2, q2) = (k * p2 + q2, p2);
48
return (p1, q1, p2, q2);
52
operator _/%_ infix 20;
54
(int, int) ((int x) /% (int y)) {
55
return (x / y, x % y);
58
(int, int) _/%_ (int x, int y) {
59
return (x / y, x % y);
64
(B, C, A) rot (A x, B y, C z) {
68
int ataninv(int base, int q) { ;; computes base*atan(1/q)
83
repeat (70) { base *= 10; }
84
return (ataninv(base << 2, 5) - ataninv(base, 239)) ~>> 4;