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