Fix conditionals in the rescaling against GAMSQ
authorMartin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Sun, 18 Feb 2018 11:54:52 +0000 (12:54 +0100)
committerGitHub <noreply@github.com>
Sun, 18 Feb 2018 11:54:52 +0000 (12:54 +0100)
interface/rotmg.c

index 2e94943..acf7399 100644 (file)
@@ -152,7 +152,7 @@ void CNAME(FLOAT *dd1, FLOAT *dd2, FLOAT *dx1, FLOAT dy1, FLOAT *dparam){
                                }
                                if( *dd1 <= RGAMSQ )
                                {
-                                       while ((*dd1) <= RGAMSQ) {
+                                       while (ABS(*dd1) <= RGAMSQ) {
                                                *dd1  = *dd1 * (GAM * GAM);
                                                *dx1  = *dx1 / GAM;
                                                dh11  = dh11 / GAM;
@@ -161,7 +161,7 @@ void CNAME(FLOAT *dd1, FLOAT *dd2, FLOAT *dx1, FLOAT dy1, FLOAT *dparam){
                                }
                                else
                                {
-                                       while ((*dd1) >= GAMSQ) {
+                                       while (ABS(*dd1) >= GAMSQ) {
                                                *dd1  = *dd1 / (GAM * GAM);
                                                *dx1  = *dx1 * GAM;
                                                dh11  = dh11 * GAM;