Merge pull request #4235 from angsch/develop

Fix division by zero in [z]rotg
This commit is contained in:
Martin Kroeker 2023-10-09 08:43:42 +02:00 committed by GitHub
commit 4a0f86397b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 12 deletions

View File

@ -66,13 +66,8 @@ void CNAME(FLOAT *DA, FLOAT *DB, FLOAT *C, FLOAT *S){
c = da / r; c = da / r;
s = db / r; s = db / r;
z = ONE; z = ONE;
if (da != ZERO) { if (ada > adb) z = s;
if (ada > adb){ if ((ada <= adb) && (c != ZERO)) z = ONE / c;
z = s;
} else {
z = ONE / c;
}
}
*C = c; *C = c;
*S = s; *S = s;

View File

@ -64,13 +64,13 @@ void CNAME(void *VDA, void *VDB, FLOAT *C, void *VS) {
*C = ZERO; *C = ZERO;
if (db_r == ZERO) { if (db_r == ZERO) {
(*DA) = fabsl(db_i); (*DA) = fabsl(db_i);
*S = *S1 /da_r; *S = *S1 /(*DA);
*(S+1) = *(S1+1) /da_r; *(S+1) = *(S1+1) /(*DA);
return; return;
} else if ( db_i == ZERO) { } else if ( db_i == ZERO) {
*DA = fabsl(db_r); *DA = fabsl(db_r);
*S = *S1 /da_r; *S = *S1 /(*DA);
*(S+1) = *(S1+1) /da_r; *(S+1) = *(S1+1) /(*DA);
return; return;
} else { } else {
long double g1 = MAX( fabsl(db_r), fabsl(db_i)); long double g1 = MAX( fabsl(db_r), fabsl(db_i));