27,28c27,28
< prime_info primes_in_n (unsigned int max);
< prime_chk primality_check (long x);
---
> prime_info primes_in_n (register unsigned long max);
> prime_chk primality_check (register long x);
32,33c32,33
<   long x;
<   prime_chk status;
---
>   register long x;
>   register prime_chk status;
53c53
< primality_check (long x)
---
> primality_check (register long x)
55,57c55,57
<   unsigned long i, sq_v;
<   prime_chk q;
<   prime_info p;
---
>   register unsigned long i, sq_v;
>   register prime_chk q;
>   register prime_info p;
67c67
<   for (i = 0; i < p.cardinality; i++)  // we are gonna compute just the cardinality of the set
---
>   for (i = 0; i <= p.cardinality; i++)  // we are gonna compute just the cardinality of the set
69,70c69,70
<       if (p.set[i] != 0 && p.set[i] != 1)  // maybe if satan comes divisor can be 0 (its supposed that this cant happen) or if divisor is 1 this doesnt have sense :p
< 	if (x % p.set[i] == 0) // if its congruent to 0 then p.set[i] divides x
---
>       if (p.set[i] != 0 && p.set[i] != 1) 
> 	if (x % p.set[i] == 0  ) // if its congruent to 0 then p.set[i] divides x
72,73c72,73
< 	    q.where = p.set[i]; // set last divisor
< 	    return q;
---
> 	   q.where = p.set[i]; // set last divisor
> 	   return q;
83c83
< primes_in_n (unsigned int max)   // this is gonna return a int pointer to all the set of prime numbers from 1 to max
---
> primes_in_n (register unsigned long max)   // this is gonna return a int pointer to all the set of prime numbers from 1 to max
85,87c85,87
<   unsigned int i, j;  
<   prime_info q;
<   long *_group, *new, c = 0, k = c;
---
>  register unsigned long i, j;  
>  register prime_info q;
>  register long *_group, *new, c = 0, k = c;
97c97
<       for (i = 0; i < max; i++)  // for every _group[j] we loop to every element of the set group[i]
---
>       for (i = 0; i <= max; i++)  // for every _group[j] we loop to every element of the set group[i]
