1 static char help[] = "Tests the PetscByteSwap()\n"; 2 3 #include <petscsys.h> 4 5 int main(int argc, char **argv) { 6 PetscInt oint[2], sint[2]; 7 PetscBool obool[2], sbool[2]; 8 PetscScalar oscalar[2], sscalar[2]; 9 double odouble[2], sdouble[2]; 10 float ofloat[2], sfloat[2]; 11 short oshort[2], sshort[2]; 12 13 PetscFunctionBeginUser; 14 PetscCall(PetscInitialize(&argc, &argv, (char *)0, help)); 15 16 sint[0] = oint[0] = 5; 17 sint[1] = oint[1] = 19; 18 sbool[0] = obool[0] = PETSC_FALSE; 19 sbool[1] = obool[1] = PETSC_TRUE; 20 sscalar[0] = oscalar[0] = 3.14159265; 21 sscalar[1] = oscalar[1] = 1.3806504e-23; 22 sdouble[0] = odouble[0] = 3.14159265; 23 sdouble[1] = odouble[1] = 1.3806504e-23; 24 sfloat[0] = ofloat[0] = 3.14159265; 25 sfloat[1] = ofloat[1] = 1.3806504e-23; 26 sshort[0] = oshort[0] = 5; 27 sshort[1] = oshort[1] = 19; 28 29 PetscCall(PetscByteSwap(sint, PETSC_INT, 2)); 30 PetscCall(PetscByteSwap(sbool, PETSC_BOOL, 2)); 31 PetscCall(PetscByteSwap(sscalar, PETSC_SCALAR, 2)); 32 PetscCall(PetscByteSwap(sdouble, PETSC_DOUBLE, 2)); 33 PetscCall(PetscByteSwap(sfloat, PETSC_FLOAT, 2)); 34 PetscCall(PetscByteSwap(sshort, PETSC_SHORT, 2)); 35 36 PetscCall(PetscByteSwap(sint, PETSC_INT, 2)); 37 PetscCall(PetscByteSwap(sbool, PETSC_BOOL, 2)); 38 PetscCall(PetscByteSwap(sscalar, PETSC_SCALAR, 2)); 39 PetscCall(PetscByteSwap(sdouble, PETSC_DOUBLE, 2)); 40 PetscCall(PetscByteSwap(sfloat, PETSC_FLOAT, 2)); 41 PetscCall(PetscByteSwap(sshort, PETSC_SHORT, 2)); 42 43 if ((sint[0] != oint[0]) || (sint[1] != oint[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_INT\n")); 44 if ((sbool[0] != obool[0]) || (sbool[1] != obool[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_BOOL\n")); 45 if ((sscalar[0] != oscalar[0]) || (sscalar[1] != oscalar[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_SCALAR\n")); 46 if ((sdouble[0] != odouble[0]) || (sdouble[1] != odouble[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_DOUBLE\n")); 47 if ((sfloat[0] != ofloat[0]) || (sfloat[1] != ofloat[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_FLOAT\n")); 48 if ((sshort[0] != oshort[0]) || (sshort[1] != oshort[1])) PetscCall(PetscPrintf(PETSC_COMM_SELF, "Byteswap mismatch for PETSC_SHORT\n")); 49 50 PetscCall(PetscFinalize()); 51 return 0; 52 } 53 54 /*TEST 55 56 test: 57 58 TEST*/ 59