File: big.c

package info (click to toggle)
radare2 0.9.6-3.1%2Bdeb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 17,496 kB
  • ctags: 45,959
  • sloc: ansic: 240,999; sh: 3,645; makefile: 2,520; python: 1,212; asm: 312; ruby: 214; awk: 209; perl: 188; lisp: 169; java: 23; xml: 17; php: 6
file content (67 lines) | stat: -rw-r--r-- 1,481 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "../big.c"
 /*
#include "../big-ssl.c"
#include "../big-gmp.c"
 */

void main() {
	int a,b;
	RNumBig n1, n2, n3, zero;

	r_big_set_st (&n2, -2);
	r_big_set_str (&n3, "-3");
	//r_big_set_st (&n3, -3);
printf ("n3last = %d\n", n3.last);
printf ("%d %d\n", n3.dgts[0], n3.dgts[1]);
	r_big_mul (&n2, &n2, &n3);
	r_big_print (&n2);
printf("--\n");

	r_big_set_st (&n1, 2);
	r_big_set_st (&n2, 3);
	r_big_mul(&n1, &n1, &n2);
	r_big_print (&n1);

	r_big_set_st (&n3, 923459999);
	r_big_mul (&n1, &n2, &n3);
	r_big_mul (&n2, &n1, &n3);
	r_big_mul (&n1, &n2, &n3);
	r_big_print (&n1);

	r_big_set_st64 (&n2, 9999923459999999);
	r_big_set_st64 (&n3, 9999992345999999);
	r_big_mul (&n1, &n2, &n3);
	r_big_mul (&n2, &n1, &n3);
	r_big_mul (&n1, &n2, &n3);
	r_big_print (&n1);

	while (scanf ("%d %d\n",&a,&b) != EOF) {
		printf("a = %d    b = %d\n",a,b);
		r_big_set_st(&n1, a);
		r_big_set_st(&n2, b);

		r_big_add (&n3, &n1, &n2);
		printf ("addition -- ");
		r_big_print (&n3);

		printf ("r_big_cmp a ? b = %d\n",r_big_cmp(&n1, &n2));

		r_big_sub (&n3,&n1,&n2);
		printf("subtraction -- ");
		r_big_print (&n3);

                r_big_mul (&n3,&n1,&n2);
		printf("multiplication -- ");
                r_big_print (&n3);

		r_big_set_st(&zero, 0);
		if (r_big_cmp(&zero, &n2) == 0)
			printf("division -- NaN \n");
                else {
			r_big_div (&n3,&n1,&n2);
			printf("division -- ");
                	r_big_print (&n3);
		}
		printf("--------------------------\n");
	}
}