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