Files
libucore/src/phi64.c
T
2013-03-06 22:22:04 +01:00

21 lines
389 B
C

#include "ucore/math.h"
/*
Euler's Totient Function is denoted by the Greek letter phi, and is defined as follows:
phi(N) = how many numbers between 1 and N - 1 which are relatively prime to N.
*/
uint64_t
uc_phi_64(uint64_t N)
{
uint64_t phi = 1;
uint64_t i;
for (i = 2 ; i < N ; ++i){
if (uc_gcd_64(i, N) == 1){
++phi;
}
}
return phi;
}