diff options
Diffstat (limited to 'ratio.c')
| -rw-r--r-- | ratio.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -127,8 +127,14 @@ double to_double(rational r){ return i*((double)r.n)/((double)r.d); } -bool to_string(char* s,rational r){ +bool to_string(char* s, rational r){ double f = to_double(r); sprintf(s,"%llu / %llu = %f +/- %6.1e",r.n,r.d,f,f*DBL_EPSILON); return true; } + +bool root_to_string(char* s, rational r, unsigned int p){ + double f = pow(to_double(r),1.0/p); + sprintf(s,"(%llu / %llu)^1/%i = %f +/- %6.1e",r.n,r.d,p,f,2*DBL_EPSILON*f); + return true; +} |
