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