1c4762a1bSJed Brown #include <petscsys.h> 2c4762a1bSJed Brown 3c4762a1bSJed Brown static char help[] = "Test PetscComplex binary operators.\n"; 4c4762a1bSJed Brown 5d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv) 6d71ae5a4SJacob Faibussowitsch { 7327415f7SBarry Smith PetscFunctionBeginUser; 8b8abcfdeSJacob 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 179371c9d4SSatish Balay #define TestOps(BOP, IOP) \ 189371c9d4SSatish Balay do { \ 199371c9d4SSatish Balay z = i; \ 209371c9d4SSatish Balay z = z BOP i; \ 219371c9d4SSatish Balay z = i BOP z; \ 229371c9d4SSatish Balay z IOP i; \ 239371c9d4SSatish Balay (void)(z == i); \ 249371c9d4SSatish Balay (void)(z != i); \ 259371c9d4SSatish Balay z = f; \ 269371c9d4SSatish Balay z = z BOP f; \ 279371c9d4SSatish Balay z = f BOP z; \ 289371c9d4SSatish Balay z IOP f; \ 299371c9d4SSatish Balay (void)(z == f); \ 309371c9d4SSatish Balay (void)(z != f); \ 319371c9d4SSatish Balay z = d; \ 329371c9d4SSatish Balay z = z BOP d; \ 339371c9d4SSatish Balay z = d BOP z; \ 349371c9d4SSatish Balay z IOP d; \ 359371c9d4SSatish Balay (void)(z == d); \ 369371c9d4SSatish Balay (void)(z != d); \ 379371c9d4SSatish Balay z = j; \ 389371c9d4SSatish Balay z = z BOP j; \ 399371c9d4SSatish Balay z = r BOP z; \ 409371c9d4SSatish Balay z IOP j; \ 419371c9d4SSatish Balay (void)(z == j); \ 429371c9d4SSatish Balay (void)(z != j); \ 439371c9d4SSatish Balay z = r; \ 449371c9d4SSatish Balay z = z BOP r; \ 459371c9d4SSatish Balay z = r BOP z; \ 469371c9d4SSatish Balay z IOP r; \ 479371c9d4SSatish Balay (void)(z == r); \ 489371c9d4SSatish Balay (void)(z != r); \ 499371c9d4SSatish Balay } while (0) 50c4762a1bSJed Brown 51c4762a1bSJed Brown TestOps(+, +=); 52c4762a1bSJed Brown TestOps(-, -=); 53c4762a1bSJed Brown TestOps(*, *=); 54c4762a1bSJed Brown TestOps(/, /=); 55c4762a1bSJed Brown } 56b8abcfdeSJacob Faibussowitsch PetscCall(PetscFinalize()); 57b8abcfdeSJacob Faibussowitsch return 0; 58c4762a1bSJed Brown } 59c4762a1bSJed Brown 60c4762a1bSJed Brown /*TEST 61c4762a1bSJed Brown 62c4762a1bSJed Brown build: 63c4762a1bSJed Brown requires: complex 64c4762a1bSJed Brown 65c4762a1bSJed Brown test: 66*3886731fSPierre Jolivet output_file: output/empty.out 67c4762a1bSJed Brown 68c4762a1bSJed Brown TEST*/ 69