xref: /petsc/src/sys/tests/ex29.c (revision 327415f76d85372a4417cf1aaa14db707d4d6c04)
1c4762a1bSJed Brown 
2c4762a1bSJed Brown static char help[] = "Tests PetscInt64Mult()\n";
3c4762a1bSJed Brown 
4c4762a1bSJed Brown #include <petscsys.h>
5c4762a1bSJed Brown 
6c4762a1bSJed Brown int main(int argc,char **argv)
7c4762a1bSJed Brown {
8c4762a1bSJed Brown   PetscInt       a = 2009,b = 5612,result,tresult;
9c4762a1bSJed Brown   PetscInt64     r64;
10c4762a1bSJed Brown 
11*327415f7SBarry Smith   PetscFunctionBeginUser;
129566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc,&argv,(char*)0,help));
139566063dSJacob Faibussowitsch   PetscCall(PetscIntMultError(a,b,&result));
14c4762a1bSJed Brown   a       = PETSC_MPI_INT_MAX-22,b = PETSC_MPI_INT_MAX/22;
15c4762a1bSJed Brown   r64     = PetscInt64Mult(a,b);
16c4762a1bSJed Brown   tresult = PetscIntMultTruncate(a,b);
179566063dSJacob Faibussowitsch   PetscCall(PetscIntMultError(a,b,&result));
18d0609cedSBarry Smith   PetscCall(PetscFinalize());
19b122ec5aSJacob Faibussowitsch   return 0;
20c4762a1bSJed Brown }
21