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