Skip to content

Commit f2d3cda

Browse files
committed
FIX: Let TANGENT 90 return an infinity value instead of throwing overflow error
1 parent d7fd2ec commit f2d3cda

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/core/n-math.c

+8-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,14 @@ enum {SINE, COSINE, TANGENT};
136136
***********************************************************************/
137137
{
138138
REBDEC dval = Trig_Value(ds, TANGENT);
139-
if (Eq_Decimal(fabs(dval), pi1 / 2.0)) Trap0(RE_OVERFLOW);
139+
if (Eq_Decimal(fabs(dval), pi1 / 2.0)) {
140+
#ifdef USE_NO_INFINITY
141+
Trap0(RE_OVERFLOW);
142+
#else
143+
SET_DECIMAL(D_RET, (dval < 0) ? -INFINITY : INFINITY);
144+
return R_RET;
145+
#endif
146+
}
140147
SET_DECIMAL(D_RET, tan(dval));
141148
return R_RET;
142149
}

0 commit comments

Comments
 (0)