1c4762a1bSJed Brown #include <petscsys.h>
2c4762a1bSJed Brown
3c4762a1bSJed Brown static char help[] = "Test PetscComplex binary operators.\n";
4c4762a1bSJed Brown
main(int argc,char ** argv)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