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