aboutsummaryrefslogtreecommitdiff
path: root/bigtest.c
blob: f6b2551ed1bb78c952ba3a7afd0a378b2bf8f213 (plain)
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
#include <stdio.h>
#include <peekpoke.h>

#include "bignum.h"

unsigned long values[] = {
	123456789L,
	12345678L,
	1234567L,
	123456L,
	65536L,
	65535L,
	4294966190L, /* works, (2**32-1)-1105 */
	4294967295L,
	665,
	78,
	1,
	0
};

int main(void) {
	char i, j;
	unsigned long l = 123456789L; // 075bcd15, or 52501 + 256 * 1883
	bignum(b);

	/*
	ulong_to_big(l, b);
	for(i=0; i<6; i++)
		printf("%02x ", b[i]);
		*/

	POKEW(19,0);
	for(i=0; i < (sizeof(values)) / (sizeof(long)); i++) {
		l = values[i];
		printf("%lu: ", l);
		ulong_to_big(l, b);
		l = 666L;
		j = big_to_ulong(b, &l);
		printf("%d %lu\n", j, l);
	}

	printf("%d\n", PEEK(20)+256*PEEK(19));
hang: goto hang;
}