00001
00019 #ifndef PRIMES_H
00020 #define PRIMES_H
00021
00022 #define IMBALANCE_THRESHOLD 10
00023 #define PWR_MAXSIZE 32
00024 #define PRIME_MAXSIZE 10
00025 #define SIZE_MG 1024
00026 #define SIZE_LEADERS 1023
00027
00028 #ifndef min
00029 #define min(a,b) ((a<b)?a:b)
00030 #endif
00031
00032 #ifndef max
00033 #define max(a,b) ((a>b)?a:b)
00034 #endif
00035
00036 struct primedec
00037 {
00038 int p;
00039 int e;
00040 int pe;
00041 };
00042
00043 typedef struct primedec primedec_t;
00044
00045 int lcm(int a, int b);
00046 int gcd(int a, int b);
00047 int modpow(int x, int n, int m);
00048 void factor(int n, primedec_t *pr, int *nf);
00049
00050 int minloc(int n, int *T);
00051 int64_t maxval(int n, int *T);
00052 int64_t sum (int n, int *T);
00053
00054 #endif