19#ifndef OPEN_CPP_UTILS_MATH_H
20#define OPEN_CPP_UTILS_MATH_H
24namespace open_cpp_utils
30 if(x <= 1)
return false;
31 if(x == 2 || x == 3)
return true;
32 if(x % 2 == 0 || x % 3 == 0)
return false;
34 T limit =
static_cast<T
>(sqrt(x));
35 for(T i = 5; i <= limit; i += 6)
37 if(x % i == 0 || x % (i + 2) == 0)
return false;