1: #include <petscsys.h> 3: static char help[] = "Test PetscComplex binary operators.\n"; 5: int main(int argc,char **argv) 6: { 9: 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; 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) 25: TestOps(+,+=); 26: TestOps(-,-=); 27: TestOps(*,*=); 28: TestOps(/,/=); 29: } 30: PetscFinalize(); 31: return ierr; 32: } 34: /*TEST 36: build: 37: requires: complex 39: test: 41: TEST*/