Merge pull request #4235 from angsch/develop
Fix division by zero in [z]rotg
This commit is contained in:
		
						commit
						4a0f86397b
					
				|  | @ -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; | ||||||
|  |  | ||||||
|  | @ -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)); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue