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