Nek5000
SEM for Incompressible NS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
sarray_sort_test.c
Go to the documentation of this file.
1 #include <stddef.h>
2 #include <stdlib.h>
3 #include <stdio.h>
4 #include <string.h>
5 #include <limits.h>
6 #include "c99.h"
7 #include "name.h"
8 #include "fail.h"
9 #include "types.h"
10 #include "mem.h"
11 #include "sort.h"
12 #include "sarray_sort.h"
13 
14 int main()
15 {
16  struct rec { double d; slong l; sint i; float f; };
17  buffer buf = {0,0,0};
18  struct rec rec[500];
19  uint i;
20 
21  for(i=0;i<500;++i) {
22  sint num1 = rand() & 0xff;
23  slong num2 = rand();
24  num2<<=(CHAR_BIT)*sizeof(int)-1;
25  num2|=rand();
26  num2<<=(CHAR_BIT)*sizeof(int)-1;
27  num2|=rand();
28  num2= num2<0?-num2:num2;
29  rec[i].d = num2;
30  rec[i].f = num2;
31  rec[i].l = num2;
32  rec[i].i = num1;
33  }
34  sarray_sort_2(struct rec,rec,500, i,0, l,1, &buf);
35  for(i=0;i<500;++i)
36  printf("%g\t%g\t%ld\t%d\n",
37  rec[i].d,rec[i].f,(long)rec[i].l,(int)rec[i].i);
38 
39  printf("\n");
40  sarray_sort(struct rec,rec,500, l,1, &buf);
41  for(i=0;i<500;++i)
42  printf("%g\t%g\t%ld\t%d\n",
43  rec[i].d,rec[i].f,(long)rec[i].l,(int)rec[i].i);
44  buffer_free(&buf);
45  return 0;
46 }
47 
#define slong
Definition: types.h:74
#define uint
Definition: types.h:70
#define buffer_free(b)
Definition: mem.h:158
#define sint
Definition: types.h:69
#define sarray_sort_2(T, A, n, field1, is_long1, field2, is_long2, buf)
Definition: sarray_sort.h:60
int main()
Definition: mem.h:111
#define sarray_sort(T, A, n, field, is_long, buf)
Definition: sarray_sort.h:55
for i
Definition: xxt_test.m:74
establishes some macros to establish naming conventions