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