1c4762a1bSJed Brown static char help[] = "Tests the PetscByteSwap()\n";
2c4762a1bSJed Brown
3c4762a1bSJed Brown #include <petscsys.h>
4c4762a1bSJed Brown
main(int argc,char ** argv)5d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv)
6d71ae5a4SJacob Faibussowitsch {
7c4762a1bSJed Brown PetscInt oint[2], sint[2];
8c4762a1bSJed Brown PetscBool obool[2], sbool[2];
9c4762a1bSJed Brown PetscScalar oscalar[2], sscalar[2];
10c4762a1bSJed Brown double odouble[2], sdouble[2];
11c4762a1bSJed Brown float ofloat[2], sfloat[2];
12c4762a1bSJed Brown short oshort[2], sshort[2];
13c4762a1bSJed Brown
14327415f7SBarry Smith PetscFunctionBeginUser;
15c8025a54SPierre Jolivet PetscCall(PetscInitialize(&argc, &argv, NULL, help));
16c4762a1bSJed Brown
17c4762a1bSJed Brown sint[0] = oint[0] = 5;
18c4762a1bSJed Brown sint[1] = oint[1] = 19;
19c4762a1bSJed Brown sbool[0] = obool[0] = PETSC_FALSE;
20c4762a1bSJed Brown sbool[1] = obool[1] = PETSC_TRUE;
21c4762a1bSJed Brown sscalar[0] = oscalar[0] = 3.14159265;
22c4762a1bSJed Brown sscalar[1] = oscalar[1] = 1.3806504e-23;
23c4762a1bSJed Brown sdouble[0] = odouble[0] = 3.14159265;
24c4762a1bSJed Brown sdouble[1] = odouble[1] = 1.3806504e-23;
256497c311SBarry Smith sfloat[0] = ofloat[0] = (float)3.14159265;
266497c311SBarry Smith sfloat[1] = ofloat[1] = (float)1.3806504e-23;
27c4762a1bSJed Brown sshort[0] = oshort[0] = 5;
28c4762a1bSJed Brown sshort[1] = oshort[1] = 19;
29c4762a1bSJed Brown
309566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sint, PETSC_INT, 2));
319566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sbool, PETSC_BOOL, 2));
329566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sscalar, PETSC_SCALAR, 2));
339566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sdouble, PETSC_DOUBLE, 2));
349566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sfloat, PETSC_FLOAT, 2));
359566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sshort, PETSC_SHORT, 2));
36c4762a1bSJed Brown
379566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sint, PETSC_INT, 2));
389566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sbool, PETSC_BOOL, 2));
399566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sscalar, PETSC_SCALAR, 2));
409566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sdouble, PETSC_DOUBLE, 2));
419566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sfloat, PETSC_FLOAT, 2));
429566063dSJacob Faibussowitsch PetscCall(PetscByteSwap(sshort, PETSC_SHORT, 2));
43c4762a1bSJed Brown
449566063dSJacob Faibussowitsch if ((sint[0] != oint[0]) || (sint[1] != oint[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_INT\n"));
459566063dSJacob Faibussowitsch if ((sbool[0] != obool[0]) || (sbool[1] != obool[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_BOOL\n"));
469566063dSJacob Faibussowitsch if ((sscalar[0] != oscalar[0]) || (sscalar[1] != oscalar[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_SCALAR\n"));
479566063dSJacob Faibussowitsch if ((sdouble[0] != odouble[0]) || (sdouble[1] != odouble[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_DOUBLE\n"));
489566063dSJacob Faibussowitsch if ((sfloat[0] != ofloat[0]) || (sfloat[1] != ofloat[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_FLOAT\n"));
499566063dSJacob Faibussowitsch if ((sshort[0] != oshort[0]) || (sshort[1] != oshort[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_SHORT\n"));
50c4762a1bSJed Brown
519566063dSJacob Faibussowitsch PetscCall(PetscFinalize());
52b122ec5aSJacob Faibussowitsch return 0;
53c4762a1bSJed Brown }
54c4762a1bSJed Brown
55c4762a1bSJed Brown /*TEST
56c4762a1bSJed Brown
57c4762a1bSJed Brown test:
58*3886731fSPierre Jolivet output_file: output/empty.out
59c4762a1bSJed Brown
60c4762a1bSJed Brown TEST*/
61