diff options
Diffstat (limited to 'Auxiliary')
3 files changed, 7 insertions, 13 deletions
diff --git a/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.c b/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.c index 1bd1a61..023e6e8 100644 --- a/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.c +++ b/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.c @@ -49,16 +49,6 @@ /* TODO: provide functions for differencing, use FD macros to evaluate corresponding functions */ -int sgn(CCTK_REAL x) -{ - if (x < 0) - return -1; - else if (x > 0) - return 1; - else - return 0; -} - void GenericFD_GetBoundaryWidths(cGH const * restrict const cctkGH, int nboundaryzones[6]) { int is_internal[6]; diff --git a/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.h b/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.h index 53e8035..217b931 100644 --- a/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.h +++ b/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/GenericFD.h @@ -54,7 +54,11 @@ extern "C" { #define KRANC_GFOFFSET3D(var,i,j,k) \ (*(CCTK_REAL const*)&((char const*)(var))[cdi*(i)+cdj*(j)+cdk*(k)]) -int sgn(CCTK_REAL x); +/* Implement the signum function, used for Mathematica's Sign function */ +static inline CCTK_REAL sgn(CCTK_REAL x) +{ + return x==(CCTK_REAL)0.0 ? (CCTK_REAL)0.0 : copysign((CCTK_REAL)1.0, x); +} int GenericFD_GetBoundaryWidth(cGH const * restrict const cctkGH); diff --git a/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/MathematicaCompat.h b/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/MathematicaCompat.h index 252116c..28bcebc 100644 --- a/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/MathematicaCompat.h +++ b/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/MathematicaCompat.h @@ -40,11 +40,11 @@ #define Csch(x) (1.0/sinh(x)) #define Coth(x) (1.0/tanh(x)) +#define Sign(x) (sgn(x)) + #ifdef KRANC_C -# define Sign(x) (copysign( (CCTK_REAL) 1.0,(CCTK_REAL) (x))) # define ToReal(x) ((CCTK_REAL)(x)) #else -# define Sign(x) (sgn(x)) # define ToReal(x) (real((x),kind(khalf))) #endif |