Subversion Repositories wimsdev

Rev

Rev 8171 | Rev 11126 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8171 Rev 8862
Line 154... Line 154...
154
 
154
 
155
/* gcd and lcm, not really checking errors. */
155
/* gcd and lcm, not really checking errors. */
156
double gcd(double n1, double n2)
156
double gcd(double n1, double n2)
157
{
157
{
158
    unsigned long long int l1, l2, ll;
158
    unsigned long long int l1, l2, ll;
159
    n1=abs(n1); n2=abs(n2);
159
    n1=fabs(n1); n2=fabs(n2);
160
    if(!isfinite(n1) || !isfinite(n2) || n1<0 || n2<0 ||
160
    if(!isfinite(n1) || !isfinite(n2) || n1<0 || n2<0 ||
161
       n1>1E18 || n2>1E18) return NAN;
161
       n1>1E18 || n2>1E18) return NAN;
162
    l1=n1; l2=n2;
162
    l1=n1; l2=n2;
163
    if(l1<l2) {
163
    if(l1<l2) {
164
      ll=l1;l1=l2;l2=ll;
164
      ll=l1;l1=l2;l2=ll;