xref: /petsc/src/sys/tests/ex29.c (revision d71ae5a4db6382e7f06317b8d368875286fe9008)
1c4762a1bSJed Brown 
2c4762a1bSJed Brown static char help[] = "Tests PetscInt64Mult()\n";
3c4762a1bSJed Brown 
4c4762a1bSJed Brown #include <petscsys.h>
5c4762a1bSJed Brown 
6*d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv)
7*d71ae5a4SJacob Faibussowitsch {
8c4762a1bSJed Brown   PetscInt   a = 2009, b = 5612, result, tresult;
9c4762a1bSJed Brown   PetscInt64 r64;
10c4762a1bSJed Brown 
11327415f7SBarry 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