# PetscIntMultError
Computes the product of two positive `PetscInt` and generates an error with overflow. 
## Synopsis
```
static inline PetscErrorCode PetscIntMultError(PetscInt a, PetscInt b, PetscInt *result)
```
Not Collective


## Input Parameters

- ***a -*** the `PetscInt` value
- ***b -*** the second value



## Output Parameter

- ***result -*** the result as a `PetscInt` value, or NULL if you do not want the result, you just want to check if it overflows


Use `PetscInt64Mult()` to compute the product of two `PetscInt` and store in a `PetscInt64`
Use `PetscIntMultTruncate()` to compute the product of two `PetscInt` and truncate it to fit in a `PetscInt`

Not available from Fortran


## Developers Note
We currently assume that `PetscInt` addition does not overflow, this is obviously wrong but requires many more checks.




## See Also
 `PetscBLASInt`, `PetscMPIInt`, `PetscInt`, `PetscBLASIntCast()`, `PetscIntMult64()`, `PetscIntSumError()`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscsys.h.html#PetscIntMultError">include/petscsys.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscsys.h)


[Index of all Sys routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
