forked from len0rd/rockbox
FS #6759: Support tan function in calculator plugin. Patch by Luke Blaney.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13070 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
9e95e306cd
commit
1322ae02f9
2 changed files with 18 additions and 2 deletions
|
@ -521,7 +521,7 @@ void transcendFunc(char* func, double* tt, int* ttPower)
|
||||||
*ttPower = 0;
|
*ttPower = 0;
|
||||||
calStatus = cal_normal;
|
calStatus = cal_normal;
|
||||||
|
|
||||||
if( func[0] =='s' || func[0] =='S')
|
if( func[0] =='s' || func[0] =='S'|| func[0] =='t' || func[0] =='T')
|
||||||
sign = SIGN(t);
|
sign = SIGN(t);
|
||||||
else {
|
else {
|
||||||
/* if( func[0] =='c' || func[0] =='C') */
|
/* if( func[0] =='c' || func[0] =='C') */
|
||||||
|
@ -544,6 +544,8 @@ void transcendFunc(char* func, double* tt, int* ttPower)
|
||||||
t = M_PI - t;
|
t = M_PI - t;
|
||||||
if (func[0] =='c' || func[0] =='C')
|
if (func[0] =='c' || func[0] =='C')
|
||||||
sign = -1;
|
sign = -1;
|
||||||
|
else if (func[0] =='t' || func[0] =='T')
|
||||||
|
t*=-1;
|
||||||
}
|
}
|
||||||
else if ( 3*M_PI_2 <= t && t <= M_TWOPI)
|
else if ( 3*M_PI_2 <= t && t <= M_TWOPI)
|
||||||
t -= M_TWOPI;
|
t -= M_TWOPI;
|
||||||
|
@ -561,10 +563,20 @@ void transcendFunc(char* func, double* tt, int* ttPower)
|
||||||
*tt = sign*y;
|
*tt = sign*y;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else /* if( func[0] =='c' || func[0] =='C')*/ {
|
else if( func[0] =='c' || func[0] =='C') {
|
||||||
*tt = sign*x;
|
*tt = sign*x;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else /*if( func[0] =='t' || func[0] =='T')*/ {
|
||||||
|
if(t==M_PI_2||t==-M_PI_2){
|
||||||
|
calStatus = cal_error;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
*tt = sign*(y/x);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
|
@ -658,6 +670,9 @@ void oneOperand(void)
|
||||||
case sci_cos:
|
case sci_cos:
|
||||||
transcendFunc("cos", &result, &power);
|
transcendFunc("cos", &result, &power);
|
||||||
break;
|
break;
|
||||||
|
case sci_tan:
|
||||||
|
transcendFunc("tan", &result, &power);
|
||||||
|
break;
|
||||||
case sci_fac:
|
case sci_fac:
|
||||||
if (power<0 || power>8 || result<0 )
|
if (power<0 || power>8 || result<0 )
|
||||||
calStatus = cal_error;
|
calStatus = cal_error;
|
||||||
|
|
|
@ -287,3 +287,4 @@ Jacob Gardner
|
||||||
Pascal Briehl
|
Pascal Briehl
|
||||||
Denis Stanishevskiy
|
Denis Stanishevskiy
|
||||||
Eddy Coman
|
Eddy Coman
|
||||||
|
Luke Blaney
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue