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