xref: /petsc/src/sys/utils/matheq.c (revision 02477ebbb21fa13a3b107e40dce1c3d726eb3600)
1ce4818fdSLisandro Dalcin #include <petscsys.h>
2ce4818fdSLisandro Dalcin 
3ce4818fdSLisandro Dalcin /*@C
4*667f096bSBarry Smith   PetscEqualReal - Returns whether the two `PetscReal` variables are equal
5ce4818fdSLisandro Dalcin 
6d8d19677SJose E. Roman   Input Parameters:
7ce4818fdSLisandro Dalcin + a - first real number
8ce4818fdSLisandro Dalcin - b - second real number
9ce4818fdSLisandro Dalcin 
10*667f096bSBarry Smith   Level: developer
11*667f096bSBarry Smith 
12811af0c4SBarry Smith   Note:
1395452b02SPatrick Sanan   Equivalent to "a == b". Should be used to prevent compilers from
14ce4818fdSLisandro Dalcin   emitting floating point comparison warnings (e.g. GCC's -Wfloat-equal flag)
15ce4818fdSLisandro Dalcin   in PETSc header files or user code.
16ce4818fdSLisandro Dalcin 
17811af0c4SBarry Smith .seealso: `PetscIsCloseAtTol()`, `PetscEqualScalar()`
18ce4818fdSLisandro Dalcin @*/
PetscEqualReal(PetscReal a,PetscReal b)19d71ae5a4SJacob Faibussowitsch PetscBool PetscEqualReal(PetscReal a, PetscReal b)
20d71ae5a4SJacob Faibussowitsch {
21ce4818fdSLisandro Dalcin   return (a == b) ? PETSC_TRUE : PETSC_FALSE;
22ce4818fdSLisandro Dalcin }
23ce4818fdSLisandro Dalcin 
24ce4818fdSLisandro Dalcin /*@C
25*667f096bSBarry Smith   PetscEqualScalar - Returns whether the two `PetscScalar` values are equal.
26ce4818fdSLisandro Dalcin 
27d8d19677SJose E. Roman   Input Parameters:
28ce4818fdSLisandro Dalcin + a - first scalar value
29ce4818fdSLisandro Dalcin - b - second scalar value
30ce4818fdSLisandro Dalcin 
31*667f096bSBarry Smith   Level: developer
32*667f096bSBarry Smith 
33811af0c4SBarry Smith   Note:
3495452b02SPatrick Sanan   Equivalent to "a == b". Should be used to prevent compilers from
35ce4818fdSLisandro Dalcin   emitting floating point comparison warnings (e.g. GCC's -Wfloat-equal flag)
36ce4818fdSLisandro Dalcin   in PETSc header files or user code.
37ce4818fdSLisandro Dalcin 
38811af0c4SBarry Smith .seealso: `PetscIsCloseAtTol()`, `PetscEqualReal()`
39ce4818fdSLisandro Dalcin @*/
PetscEqualScalar(PetscScalar a,PetscScalar b)40d71ae5a4SJacob Faibussowitsch PetscBool PetscEqualScalar(PetscScalar a, PetscScalar b)
41d71ae5a4SJacob Faibussowitsch {
42ce4818fdSLisandro Dalcin   return (a == b) ? PETSC_TRUE : PETSC_FALSE;
43ce4818fdSLisandro Dalcin }
44