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