20 template<
long a,
long b,
bool bo>
25 template<
long a,
long b>
26 struct GcdHelper<a,b,true>
31 static void conceptCheck()
41 const static long gcd = GcdHelper<b,a%b,true>::gcd;
44 template<
long a,
long b>
45 struct GcdHelper<a,b,false>
50 const static long gcd = GcdHelper<b,a,true>::gcd;
53 struct GcdHelper<a,0,true>
55 const static long gcd=a;
63 template<
long a,
long b>
68 const static long value = GcdHelper<a,b,(a>b)>::gcd;