1c4762a1bSJed Brown static char help[] = "Tests the PetscByteSwap()\n"; 2c4762a1bSJed Brown 3c4762a1bSJed Brown #include <petscsys.h> 4c4762a1bSJed Brown 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