@@ -18,6 +18,7 @@ export function solveTan(tanNode: FunctionNode, a: TokenNode): Calculation | -1
1818 const startingValue = aToken [ 4 ] . value ;
1919
2020 let degrees = 0 ;
21+ let result = aToken [ 4 ] . value ;
2122 if ( aToken [ 0 ] === TokenType . Dimension ) {
2223 switch ( toLowerCaseAZ ( aToken [ 4 ] . unit ) ) {
2324 case 'rad' :
@@ -27,19 +28,19 @@ export function solveTan(tanNode: FunctionNode, a: TokenNode): Calculation | -1
2728 case 'deg' :
2829 degrees = startingValue ;
2930 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
30- aToken [ 4 ] . value = convert_deg . get ( 'rad' ) ! ( startingValue ) ;
31+ result = convert_deg . get ( 'rad' ) ! ( startingValue ) ;
3132 break ;
3233 case 'grad' :
3334 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3435 degrees = convert_grad . get ( 'deg' ) ! ( startingValue ) ;
3536 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
36- aToken [ 4 ] . value = convert_grad . get ( 'rad' ) ! ( startingValue ) ;
37+ result = convert_grad . get ( 'rad' ) ! ( startingValue ) ;
3738 break ;
3839 case 'turn' :
3940 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
4041 degrees = convert_turn . get ( 'deg' ) ! ( startingValue ) ;
4142 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
42- aToken [ 4 ] . value = convert_turn . get ( 'rad' ) ! ( startingValue ) ;
43+ result = convert_turn . get ( 'rad' ) ! ( startingValue ) ;
4344 break ;
4445 default :
4546 return - 1 ;
@@ -50,11 +51,10 @@ export function solveTan(tanNode: FunctionNode, a: TokenNode): Calculation | -1
5051 const timesNinety = degrees / 90 ;
5152 const isAsymptote = isNinetyMultiple && timesNinety % 2 !== 0 ;
5253
53- let result ;
5454 if ( isAsymptote ) {
5555 result = timesNinety > 0 ? Infinity : - Infinity ;
5656 } else {
57- result = Math . tan ( aToken [ 4 ] . value ) ;
57+ result = Math . tan ( result ) ;
5858 }
5959
6060 return numberToCalculation ( tanNode , result ) ;
0 commit comments