xref: /petsc/src/sys/tests/ex4.c (revision 4e278199b78715991f5c71ebbd945c1489263e6c)
1 #include <petscsys.h>
2 
3 static char help[] = "Test PetscComplex binary operators.\n";
4 
5 int main(int argc,char **argv)
6 {
7   PetscErrorCode ierr;
8 
9   ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr;
10   {
11     int          i = 2;
12     float        f = 2;
13     double       d = 2;
14     PetscInt     j = 2;
15     PetscReal    r = 2;
16     PetscScalar  z;
17 
18 #define TestOps(BOP,IOP) do {                                             \
19     z = i; z = z BOP i; z = i BOP z; z IOP i; (void)(z==i); (void)(z!=i); \
20     z = f; z = z BOP f; z = f BOP z; z IOP f; (void)(z==f); (void)(z!=f); \
21     z = d; z = z BOP d; z = d BOP z; z IOP d; (void)(z==d); (void)(z!=d); \
22     z = j; z = z BOP j; z = r BOP z; z IOP j; (void)(z==j); (void)(z!=j); \
23     z = r; z = z BOP r; z = r BOP z; z IOP r; (void)(z==r); (void)(z!=r); } while (0)
24 
25     TestOps(+,+=);
26     TestOps(-,-=);
27     TestOps(*,*=);
28     TestOps(/,/=);
29   }
30   ierr = PetscFinalize();
31   return ierr;
32 }
33 
34 /*TEST
35 
36    build:
37       requires: complex
38 
39    test:
40 
41 TEST*/
42