Пример #1
0
extern void segment_map_test(umMem_T memory) 
{        
        for (int i = 1; i <= 7; i++) {
                segment_map(memory, i, i * 2);
        }
        
        for (int i = 1; i <= 7; i++) {
                int reg_val = register_get(memory, i);
                fprintf(stderr, "regID: %d, segID: %d, segLength: %d\n", i, 
                        reg_val, segment_length(memory, reg_val));
        }
        
        for (int i = 1; i <= 7; i+=2) {
                fprintf(stderr, "i: %d\n", i);
                segment_unmap(memory, i);
        }
        for (int i = 1; i <= 7; i+=2) {
                segment_map(memory, i, i + 10);
        }
        
        for (int i = 1; i <= 7; i++) {
                int reg_val = register_get(memory, i);
                fprintf(stderr, "regID: %d, segID: %d, segLength: %d\n", i, 
                        reg_val, segment_length(memory, reg_val));
        }

}
Пример #2
0
	//Trivia
	int Bigint::digits() const {
		int segments = number.size();
		if(segments == 0) return 0;
		int digits = 9*(segments-1);
		digits += segment_length(number.back());
		return digits;
	}
Пример #3
0
extern void segment_length_test(umMem_T memory)
{
        for (int i = 0; i < 20; i+=2) {
                segment_map(memory, i, i * 2);
                int seg_length = segment_length(memory, i);
                if (i * 2 != seg_length) {
                        fprintf(stderr, "Wrong length at %d\n", i);
                }
        }
        
        fprintf(stderr, "segment_length is fine with valid inputs\n");
}
Пример #4
0
extern void segment_unmap_test(umMem_T memory)
{
        for (int i = 1; i < 20; i++) {
                int seg_length = segment_length(memory, i);
                if (seg_length != i * 2) {
                        fprintf(stderr, "Length is not right");
                }
                segment_unmap(memory, i);
                if (segment_isEmpty(memory, i) == false) {
                        fprintf(stderr, "Not correctly unmapped m[%d]\n", i);
                }
        }
        
        fprintf(stderr, "segment_unmap is fine with valid inputs\n");
}