@@ -10,7 +10,9 @@ void draw(mp_float *a)
10
10
int main (void )
11
11
{
12
12
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 );
14
16
15
17
mpf_const_d (& a , 1 ); draw (& a );
16
18
mpf_const_d (& b , 2 ); draw (& b );
@@ -21,6 +23,12 @@ int main(void)
21
23
mpf_sub (& b , & c , & e ); printf ("2 - 3 ==" ); draw (& e );
22
24
mpf_mul (& b , & c , & e ); printf ("2 * 3 == " ); draw (& e );
23
25
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 );
24
32
printf ("\n" );
25
33
mpf_invsqrt (& d , & e ); printf ("1/sqrt(4) == 1/2 == " ); draw (& e );
26
34
mpf_invsqrt (& c , & e ); printf ("1/sqrt(3) == " ); draw (& e );
@@ -29,6 +37,8 @@ int main(void)
29
37
mpf_inv (& c , & e ); printf ("1/3 == " ); draw (& e );
30
38
mpf_inv (& d , & e ); printf ("1/4 == " ); draw (& e );
31
39
printf ("\n" );
40
+ mpf_const_pi (& e ); printf ("Pi == " ); draw (& e );
41
+ printf ("\n" );
32
42
mpf_const_e (& e ); printf ("e == " ); draw (& e );
33
43
mpf_exp (& c , & e ); printf ("e^3 == " ); draw (& e );
34
44
mpf_sqrt (& e , & e ); printf ("sqrt(e^3) == " ); draw (& e );
@@ -46,7 +56,21 @@ int main(void)
46
56
mpf_tan (& b , & e ); printf ("tan(2) == " ); draw (& e );
47
57
mpf_tan (& c , & e ); printf ("tan(3) == " ); draw (& e );
48
58
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 );
49
63
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 );
50
74
return 0 ;
51
75
}
52
76
0 commit comments