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