~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
/* Copyright (C) 2006 MySQL AB
2
3
   This program is free software; you can redistribute it and/or modify
4
   it under the terms of the GNU General Public License as published by
5
   the Free Software Foundation; version 2 of the License.
6
7
   This program is distributed in the hope that it will be useful,
8
   but WITHOUT ANY WARRANTY; without even the implied warranty of
9
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
   GNU General Public License for more details.
11
12
   You should have received a copy of the GNU General Public License
13
   along with this program; if not, write to the Free Software
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
15
16
#include <tap.h>
17
18
unsigned int gcs(unsigned int a, unsigned int b)
19
{
20
  if (b > a) {
21
    unsigned int t = a;
22
    a = b;
23
    b = t;
24
  }
25
26
  while (b != 0) {
27
    unsigned int m = a % b;
28
    a = b;
29
    b = m;
30
  }
31
  return a;
32
}
33
34
int main() {
35
  unsigned int a,b;
36
  unsigned int failed;
37
  plan(1);
38
  diag("Testing basic functions");
39
  failed = 0;
40
  for (a = 1 ; a < 2000 ; ++a)
41
    for (b = 1 ; b < 2000 ; ++b)
42
    {
43
      unsigned int d = gcs(a, b);
44
      if (a % d != 0 || b % d != 0) {
45
        ++failed;
46
        diag("Failed for gcs(%4u,%4u)", a, b);
47
      }
48
    }
49
  ok(failed == 0, "Testing gcs()");
50
  return exit_status();
51
}
52