summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/plugins/calculator.c19
-rw-r--r--docs/CREDITS1
2 files changed, 18 insertions, 2 deletions
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 05f9c73ba9..775210d7f3 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -521,7 +521,7 @@ void transcendFunc(char* func, double* tt, int* ttPower)
521 *ttPower = 0; 521 *ttPower = 0;
522 calStatus = cal_normal; 522 calStatus = cal_normal;
523 523
524 if( func[0] =='s' || func[0] =='S') 524 if( func[0] =='s' || func[0] =='S'|| func[0] =='t' || func[0] =='T')
525 sign = SIGN(t); 525 sign = SIGN(t);
526 else { 526 else {
527 /* if( func[0] =='c' || func[0] =='C') */ 527 /* if( func[0] =='c' || func[0] =='C') */
@@ -544,6 +544,8 @@ void transcendFunc(char* func, double* tt, int* ttPower)
544 t = M_PI - t; 544 t = M_PI - t;
545 if (func[0] =='c' || func[0] =='C') 545 if (func[0] =='c' || func[0] =='C')
546 sign = -1; 546 sign = -1;
547 else if (func[0] =='t' || func[0] =='T')
548 t*=-1;
547 } 549 }
548 else if ( 3*M_PI_2 <= t && t <= M_TWOPI) 550 else if ( 3*M_PI_2 <= t && t <= M_TWOPI)
549 t -= M_TWOPI; 551 t -= M_TWOPI;
@@ -561,10 +563,20 @@ void transcendFunc(char* func, double* tt, int* ttPower)
561 *tt = sign*y; 563 *tt = sign*y;
562 return; 564 return;
563 } 565 }
564 else /* if( func[0] =='c' || func[0] =='C')*/ { 566 else if( func[0] =='c' || func[0] =='C') {
565 *tt = sign*x; 567 *tt = sign*x;
566 return; 568 return;
567 } 569 }
570 else /*if( func[0] =='t' || func[0] =='T')*/ {
571 if(t==M_PI_2||t==-M_PI_2){
572 calStatus = cal_error;
573 return;
574 }
575 else{
576 *tt = sign*(y/x);
577 return;
578 }
579 }
568 580
569} 581}
570/* ----------------------------------------------------------------------- 582/* -----------------------------------------------------------------------
@@ -658,6 +670,9 @@ void oneOperand(void)
658 case sci_cos: 670 case sci_cos:
659 transcendFunc("cos", &result, &power); 671 transcendFunc("cos", &result, &power);
660 break; 672 break;
673 case sci_tan:
674 transcendFunc("tan", &result, &power);
675 break;
661 case sci_fac: 676 case sci_fac:
662 if (power<0 || power>8 || result<0 ) 677 if (power<0 || power>8 || result<0 )
663 calStatus = cal_error; 678 calStatus = cal_error;
diff --git a/docs/CREDITS b/docs/CREDITS
index da13cc6723..95ee473680 100644
--- a/docs/CREDITS
+++ b/docs/CREDITS
@@ -287,3 +287,4 @@ Jacob Gardner
287Pascal Briehl 287Pascal Briehl
288Denis Stanishevskiy 288Denis Stanishevskiy
289Eddy Coman 289Eddy Coman
290Luke Blaney