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*327415f7SBarry Smith PetscFunctionBeginUser; 9b8abcfdeSJacob Faibussowitsch PetscCall(PetscInitialize(&argc,&argv,NULL,help)); 10c4762a1bSJed Brown { 11c4762a1bSJed Brown int i = 2; 12c4762a1bSJed Brown float f = 2; 13c4762a1bSJed Brown double d = 2; 14c4762a1bSJed Brown PetscInt j = 2; 15c4762a1bSJed Brown PetscReal r = 2; 16c4762a1bSJed Brown PetscScalar z; 17c4762a1bSJed Brown 18c4762a1bSJed Brown #define TestOps(BOP,IOP) do { \ 19c4762a1bSJed Brown z = i; z = z BOP i; z = i BOP z; z IOP i; (void)(z==i); (void)(z!=i); \ 20c4762a1bSJed Brown z = f; z = z BOP f; z = f BOP z; z IOP f; (void)(z==f); (void)(z!=f); \ 21c4762a1bSJed Brown z = d; z = z BOP d; z = d BOP z; z IOP d; (void)(z==d); (void)(z!=d); \ 22c4762a1bSJed Brown z = j; z = z BOP j; z = r BOP z; z IOP j; (void)(z==j); (void)(z!=j); \ 23c4762a1bSJed Brown z = r; z = z BOP r; z = r BOP z; z IOP r; (void)(z==r); (void)(z!=r); } while (0) 24c4762a1bSJed Brown 25c4762a1bSJed Brown TestOps(+,+=); 26c4762a1bSJed Brown TestOps(-,-=); 27c4762a1bSJed Brown TestOps(*,*=); 28c4762a1bSJed Brown TestOps(/,/=); 29c4762a1bSJed Brown } 30b8abcfdeSJacob Faibussowitsch PetscCall(PetscFinalize()); 31b8abcfdeSJacob Faibussowitsch return 0; 32c4762a1bSJed Brown } 33c4762a1bSJed Brown 34c4762a1bSJed Brown /*TEST 35c4762a1bSJed Brown 36c4762a1bSJed Brown build: 37c4762a1bSJed Brown requires: complex 38c4762a1bSJed Brown 39c4762a1bSJed Brown test: 40c4762a1bSJed Brown 41c4762a1bSJed Brown TEST*/ 42