@@ -10,7 +10,9 @@ void draw(mp_float *a)
1010int main (void )
1111{
1212 mp_float a , b , c , d , e ;
13- mpf_init_multi (96 , & a , & b , & c , & d , & e , NULL );
13+ int err ;
14+
15+ mpf_init_multi (100 , & a , & b , & c , & d , & e , NULL );
1416
1517 mpf_const_d (& a , 1 ); draw (& a );
1618 mpf_const_d (& b , 2 ); draw (& b );
@@ -21,6 +23,12 @@ int main(void)
2123 mpf_sub (& b , & c , & e ); printf ("2 - 3 ==" ); draw (& e );
2224 mpf_mul (& b , & c , & e ); printf ("2 * 3 == " ); draw (& e );
2325 mpf_div (& b , & c , & e ); printf ("2 / 3 == " ); draw (& e );
26+ mpf_add_d (& b , 3 , & e ); printf ("2 + 3 == " ); draw (& e );
27+ mpf_sub_d (& b , 3 , & e ); printf ("2 - 3 ==" ); draw (& e );
28+ mpf_mul_d (& b , 3 , & e ); printf ("2 * 3 == " ); draw (& e );
29+ mpf_div_d (& b , 3 , & e ); printf ("2 / 3 == " ); draw (& e );
30+ mpf_const_d (& e , 0 ); mpf_add_d (& e , 1 , & e ); printf ("0 + 1 == " ); draw (& e );
31+ mpf_const_d (& e , 0 ); mpf_sub_d (& e , 1 , & e ); printf ("0 - 1 == " ); draw (& e );
2432 printf ("\n" );
2533 mpf_invsqrt (& d , & e ); printf ("1/sqrt(4) == 1/2 == " ); draw (& e );
2634 mpf_invsqrt (& c , & e ); printf ("1/sqrt(3) == " ); draw (& e );
@@ -29,6 +37,8 @@ int main(void)
2937 mpf_inv (& c , & e ); printf ("1/3 == " ); draw (& e );
3038 mpf_inv (& d , & e ); printf ("1/4 == " ); draw (& e );
3139 printf ("\n" );
40+ mpf_const_pi (& e ); printf ("Pi == " ); draw (& e );
41+ printf ("\n" );
3242 mpf_const_e (& e ); printf ("e == " ); draw (& e );
3343 mpf_exp (& c , & e ); printf ("e^3 == " ); draw (& e );
3444 mpf_sqrt (& e , & e ); printf ("sqrt(e^3) == " ); draw (& e );
@@ -46,7 +56,21 @@ int main(void)
4656 mpf_tan (& b , & e ); printf ("tan(2) == " ); draw (& e );
4757 mpf_tan (& c , & e ); printf ("tan(3) == " ); draw (& e );
4858 mpf_tan (& d , & e ); printf ("tan(4) == " ); draw (& e );
59+ mpf_inv (& a , & e ); mpf_atan (& e , & e ); printf ("atan(1/1) == " ); draw (& e );
60+ mpf_inv (& b , & e ); mpf_atan (& e , & e ); printf ("atan(1/2) == " ); draw (& e );
61+ mpf_inv (& c , & e ); mpf_atan (& e , & e ); printf ("atan(1/3) == " ); draw (& e );
62+ mpf_inv (& d , & e ); mpf_atan (& e , & e ); printf ("atan(1/4) == " ); draw (& e );
4963 printf ("\n" );
64+ #define lntest (x ) if ((err = mpf_const_ln_d(&e, x)) != MP_OKAY) { printf("Failed ln(%3d), %d\n", x, err); } else { printf("ln(%3d) == ", x); draw(&e); };
65+ lntest (0 );
66+ lntest (1 );
67+ lntest (2 );
68+ lntest (4 );
69+ lntest (8 );
70+ lntest (17 );
71+ lntest (1000 );
72+ lntest (100000 );
73+ lntest (250000 );
5074 return 0 ;
5175}
5276
0 commit comments