xref: /petsc/src/sys/tests/ex22.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
1c4762a1bSJed Brown static char help[] = "Tests the PetscByteSwap()\n";
2c4762a1bSJed Brown 
3c4762a1bSJed Brown #include <petscsys.h>
4c4762a1bSJed Brown 
5c4762a1bSJed Brown int main(int argc,char **argv)
6c4762a1bSJed Brown {
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 
14*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscInitialize(&argc,&argv,(char*)0,help));
15c4762a1bSJed Brown 
16c4762a1bSJed Brown   sint[0]    = oint[0]    = 5;
17c4762a1bSJed Brown   sint[1]    = oint[1]    = 19;
18c4762a1bSJed Brown   sbool[0]   = obool[0]   = PETSC_FALSE;
19c4762a1bSJed Brown   sbool[1]   = obool[1]   = PETSC_TRUE;
20c4762a1bSJed Brown   sscalar[0] = oscalar[0] = 3.14159265;
21c4762a1bSJed Brown   sscalar[1] = oscalar[1] = 1.3806504e-23;
22c4762a1bSJed Brown   sdouble[0] = odouble[0] = 3.14159265;
23c4762a1bSJed Brown   sdouble[1] = odouble[1] = 1.3806504e-23;
24c4762a1bSJed Brown   sfloat[0]  = ofloat[0]  = 3.14159265;
25c4762a1bSJed Brown   sfloat[1]  = ofloat[1]  = 1.3806504e-23;
26c4762a1bSJed Brown   sshort[0]  = oshort[0]  = 5;
27c4762a1bSJed Brown   sshort[1]  = oshort[1]  = 19;
28c4762a1bSJed Brown 
295f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sint,PETSC_INT,2));
305f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sbool,PETSC_BOOL,2));
315f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sscalar,PETSC_SCALAR,2));
325f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sdouble,PETSC_DOUBLE,2));
335f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sfloat,PETSC_FLOAT,2));
345f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sshort,PETSC_SHORT,2));
35c4762a1bSJed Brown 
365f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sint,PETSC_INT,2));
375f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sbool,PETSC_BOOL,2));
385f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sscalar,PETSC_SCALAR,2));
395f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sdouble,PETSC_DOUBLE,2));
405f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sfloat,PETSC_FLOAT,2));
415f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscByteSwap(sshort,PETSC_SHORT,2));
42c4762a1bSJed Brown 
435f80ce2aSJacob Faibussowitsch   if ((sint[0] !=oint[0])|| (sint[1] != oint[1]))             CHKERRQ(PetscPrintf(PETSC_COMM_SELF,"Byteswap mismatch for PETSC_INT\n"));
445f80ce2aSJacob Faibussowitsch   if ((sbool[0] !=obool[0])|| (sbool[1] != obool[1]))         CHKERRQ(PetscPrintf(PETSC_COMM_SELF,"Byteswap mismatch for PETSC_BOOL\n"));
455f80ce2aSJacob Faibussowitsch   if ((sscalar[0] !=oscalar[0])|| (sscalar[1] != oscalar[1])) CHKERRQ(PetscPrintf(PETSC_COMM_SELF,"Byteswap mismatch for PETSC_SCALAR\n"));
465f80ce2aSJacob Faibussowitsch   if ((sdouble[0] !=odouble[0])|| (sdouble[1] != odouble[1])) CHKERRQ(PetscPrintf(PETSC_COMM_SELF,"Byteswap mismatch for PETSC_DOUBLE\n"));
475f80ce2aSJacob Faibussowitsch   if ((sfloat[0] !=ofloat[0])|| (sfloat[1] != ofloat[1]))     CHKERRQ(PetscPrintf(PETSC_COMM_SELF,"Byteswap mismatch for PETSC_FLOAT\n"));
485f80ce2aSJacob Faibussowitsch   if ((sshort[0] !=oshort[0])|| (sshort[1] != oshort[1]))     CHKERRQ(PetscPrintf(PETSC_COMM_SELF,"Byteswap mismatch for PETSC_SHORT\n"));
49c4762a1bSJed Brown 
50*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscFinalize());
51*b122ec5aSJacob Faibussowitsch   return 0;
52c4762a1bSJed Brown }
53c4762a1bSJed Brown 
54c4762a1bSJed Brown /*TEST
55c4762a1bSJed Brown 
56c4762a1bSJed Brown    test:
57c4762a1bSJed Brown 
58c4762a1bSJed Brown TEST*/
59