Go to the source code of this file.
◆ apply_int_mask()
Definition at line 26 of file fun_mpfr.c.
32 mpz_init_set_str(
mask,
"FFFFFFFFFFFFFFFF", 16);
35 mpz_init_set_str(
mask,
"00000000FFFFFFFF", 16);
38 mpz_init_set_str(
mask,
"000000000000FFFF", 16);
41 mpz_init_set_str(
mask,
"00000000000000FF", 16);
44 mpz_init_set_si(
mask, -1);
47 mpfr_get_z(
a,
r->mf, MPFR_DEFAULT_RND);
49 mpfr_set_z(
r->mf,
a, MPFR_DEFAULT_RND);
GLdouble GLdouble GLdouble r
GLboolean GLboolean GLboolean GLboolean a
Referenced by convert_real_integer(), DlgMainProc(), run_operator(), and upload_stat_number().
◆ build_rad_const()
static void build_rad_const |
( |
mpfr_t * |
mp_pi, |
|
|
mpfr_t * |
mp_pi_2, |
|
|
mpfr_t * |
mp_3_pi_2, |
|
|
mpfr_t * |
mp_2_pi |
|
) |
| |
|
static |
Definition at line 112 of file fun_mpfr.c.
120 mpfr_init(*mp_3_pi_2);
122 mpfr_const_pi(*mp_pi, MPFR_DEFAULT_RND);
123 mpfr_div_ui(*mp_pi_2, *mp_pi, 2, MPFR_DEFAULT_RND);
124 mpfr_mul_ui(*mp_3_pi_2, *mp_pi, 3, MPFR_DEFAULT_RND);
125 mpfr_div_ui(*mp_3_pi_2, *mp_3_pi_2, 2, MPFR_DEFAULT_RND);
126 mpfr_mul_ui(*mp_2_pi, *mp_pi, 2, MPFR_DEFAULT_RND);
Referenced by rpn_cos(), rpn_sin(), and rpn_tan().
◆ rpn_2pi()
Definition at line 297 of file fun_mpfr.c.
299 mpfr_const_pi(
c->mf, MPFR_DEFAULT_RND);
300 mpfr_mul_ui(
c->mf,
c->mf, 2, MPFR_DEFAULT_RND);
◆ rpn_acos()
Definition at line 204 of file fun_mpfr.c.
206 mpfr_acos(
c->mf,
c->mf, MPFR_DEFAULT_RND);
static void validate_rad2angle(calc_number_t *c)
◆ rpn_acosh()
Definition at line 236 of file fun_mpfr.c.
238 mpfr_acosh(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_alloc()
◆ rpn_asin()
Definition at line 199 of file fun_mpfr.c.
201 mpfr_asin(
c->mf,
c->mf, MPFR_DEFAULT_RND);
static void validate_rad2angle(calc_number_t *c)
◆ rpn_asinh()
Definition at line 231 of file fun_mpfr.c.
233 mpfr_asinh(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_atan()
Definition at line 209 of file fun_mpfr.c.
211 mpfr_atan(
c->mf,
c->mf, MPFR_DEFAULT_RND);
static void validate_rad2angle(calc_number_t *c)
◆ rpn_atanh()
Definition at line 241 of file fun_mpfr.c.
243 mpfr_atanh(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_ave()
Definition at line 382 of file fun_mpfr.c.
390 mpfr_div_ui(
c->mf,
c->mf,
n, MPFR_DEFAULT_RND);
393 mpfr_trunc(
c->mf,
c->mf);
#define SendDlgItemMessage
static void stat_sum(mpfr_t sum)
◆ rpn_ave2()
Definition at line 396 of file fun_mpfr.c.
404 mpfr_div_ui(
c->mf,
c->mf,
n, MPFR_DEFAULT_RND);
407 mpfr_trunc(
c->mf,
c->mf);
#define SendDlgItemMessage
static void stat_sum2(mpfr_t sum)
◆ rpn_cbrt()
Definition at line 326 of file fun_mpfr.c.
328 mpfr_cbrt(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_copy()
◆ rpn_cos()
Definition at line 153 of file fun_mpfr.c.
155 mpfr_t mp_pi, mp_pi_2, mp_3_pi_2, mp_2_pi;
160 if (!mpfr_cmp(
c->mf, mp_pi_2) || !mpfr_cmp(
c->mf, mp_3_pi_2))
163 if (!mpfr_cmp(
c->mf, mp_pi))
164 mpfr_set_si(
c->mf, -1, MPFR_DEFAULT_RND);
166 if (!mpfr_cmp(
c->mf, mp_2_pi))
167 mpfr_set_si(
c->mf, 1, MPFR_DEFAULT_RND);
169 mpfr_cos(
c->mf,
c->mf, MPFR_DEFAULT_RND);
174 mpfr_clear(mp_3_pi_2);
static void validate_angle2rad(calc_number_t *c)
void rpn_zero(calc_number_t *c)
static void build_rad_const(mpfr_t *mp_pi, mpfr_t *mp_pi_2, mpfr_t *mp_3_pi_2, mpfr_t *mp_2_pi)
◆ rpn_cosh()
Definition at line 220 of file fun_mpfr.c.
222 mpfr_cosh(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_dec2dms()
Definition at line 500 of file fun_mpfr.c.
508 mpfr_trunc(
d,
c->mf);
509 mpfr_frac(
m,
c->mf, MPFR_DEFAULT_RND);
510 mpfr_mul_ui(
m,
m, 60, MPFR_DEFAULT_RND);
512 mpfr_frac(
s,
m, MPFR_DEFAULT_RND);
514 mpfr_mul_ui(
s,
s, 60, MPFR_DEFAULT_RND);
517 mpfr_div_ui(
m,
m, 100, MPFR_DEFAULT_RND);
518 mpfr_div_ui(
s,
s, 10000, MPFR_DEFAULT_RND);
519 mpfr_add(
c->mf,
d,
m, MPFR_DEFAULT_RND);
520 mpfr_add(
c->mf,
c->mf,
s, MPFR_DEFAULT_RND);
◆ rpn_dms2dec()
Definition at line 473 of file fun_mpfr.c.
481 mpfr_trunc(
d,
c->mf);
482 mpfr_frac(
m,
c->mf, MPFR_DEFAULT_RND);
483 mpfr_mul_ui(
m,
m, 100, MPFR_DEFAULT_RND);
485 mpfr_frac(
s,
m, MPFR_DEFAULT_RND);
487 mpfr_mul_ui(
s,
s, 100, MPFR_DEFAULT_RND);
490 mpfr_div_ui(
m,
m, 60, MPFR_DEFAULT_RND);
491 mpfr_div_ui(
s,
s, 3600, MPFR_DEFAULT_RND);
492 mpfr_add(
c->mf,
d,
m, MPFR_DEFAULT_RND);
493 mpfr_add(
c->mf,
c->mf,
s, MPFR_DEFAULT_RND);
◆ rpn_exp()
Definition at line 332 of file fun_mpfr.c.
334 mpfr_exp(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_exp10()
Definition at line 338 of file fun_mpfr.c.
340 mpfr_exp10(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_exp2()
Definition at line 308 of file fun_mpfr.c.
310 mpfr_sqr(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_exp3()
Definition at line 314 of file fun_mpfr.c.
316 mpfr_pow_ui(
c->mf,
c->mf, 3, MPFR_DEFAULT_RND);
◆ rpn_fact()
Definition at line 265 of file fun_mpfr.c.
267 if (mpfr_sgn(
c->mf) < 0) {
272 mpfr_trunc(
c->mf,
c->mf);
273 if (mpfr_fits_ulong_p(
c->mf, MPFR_DEFAULT_RND) == 0)
276 mpfr_fac_ui(
c->mf, mpfr_get_ui(
c->mf, MPFR_DEFAULT_RND), MPFR_DEFAULT_RND);
◆ rpn_frac()
Definition at line 252 of file fun_mpfr.c.
254 mpfr_frac(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_free()
◆ rpn_int()
◆ rpn_is_zero()
◆ rpn_ln()
Definition at line 344 of file fun_mpfr.c.
346 mpfr_log(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_log()
Definition at line 350 of file fun_mpfr.c.
352 mpfr_log10(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_not()
Definition at line 281 of file fun_mpfr.c.
286 mpfr_get_z(
a,
c->mf, MPFR_DEFAULT_RND);
288 mpfr_set_z(
c->mf,
a, MPFR_DEFAULT_RND);
GLboolean GLboolean GLboolean GLboolean a
◆ rpn_pi()
Definition at line 292 of file fun_mpfr.c.
294 mpfr_const_pi(
c->mf, MPFR_DEFAULT_RND);
◆ rpn_reci()
Definition at line 257 of file fun_mpfr.c.
259 if (mpfr_sgn(
c->mf) == 0)
262 mpfr_ui_div(
c->mf, 1,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_s()
Definition at line 463 of file fun_mpfr.c.
static void rpn_s_ex(calc_number_t *c, int pop_type)
◆ rpn_s_ex()
Definition at line 426 of file fun_mpfr.c.
435 mpfr_set_ui(
c->mf, 0, MPFR_DEFAULT_RND);
440 mpfr_div_ui(
c->mf,
c->mf,
n, MPFR_DEFAULT_RND);
445 mpfr_set_ui(
dev, 0, MPFR_DEFAULT_RND);
448 mpfr_sub(
num,
p->num.mf,
c->mf, MPFR_DEFAULT_RND);
449 mpfr_sqr(
num,
num, MPFR_DEFAULT_RND);
450 mpfr_add(
dev,
dev,
num, MPFR_DEFAULT_RND);
453 mpfr_div_ui(
c->mf,
dev, pop_type ?
n-1 :
n, MPFR_DEFAULT_RND);
454 mpfr_sqrt(
c->mf,
c->mf, MPFR_DEFAULT_RND);
457 mpfr_trunc(
c->mf,
c->mf);
#define SendDlgItemMessage
static void stat_sum(mpfr_t sum)
Referenced by rpn_s(), and rpn_s_m1().
◆ rpn_s_m1()
Definition at line 468 of file fun_mpfr.c.
static void rpn_s_ex(calc_number_t *c, int pop_type)
◆ rpn_sign()
◆ rpn_sin()
Definition at line 129 of file fun_mpfr.c.
131 mpfr_t mp_pi, mp_pi_2, mp_3_pi_2, mp_2_pi;
136 if (
rpn_is_zero(
c) || !mpfr_cmp(
c->mf, mp_pi) || !mpfr_cmp(
c->mf, mp_2_pi))
139 if (!mpfr_cmp(
c->mf, mp_3_pi_2))
140 mpfr_set_si(
c->mf, -1, MPFR_DEFAULT_RND);
142 if (!mpfr_cmp(
c->mf, mp_pi_2))
143 mpfr_set_si(
c->mf, 1, MPFR_DEFAULT_RND);
145 mpfr_sin(
c->mf,
c->mf, MPFR_DEFAULT_RND);
150 mpfr_clear(mp_3_pi_2);
static void validate_angle2rad(calc_number_t *c)
void rpn_zero(calc_number_t *c)
int rpn_is_zero(calc_number_t *c)
static void build_rad_const(mpfr_t *mp_pi, mpfr_t *mp_pi_2, mpfr_t *mp_3_pi_2, mpfr_t *mp_2_pi)
◆ rpn_sinh()
Definition at line 215 of file fun_mpfr.c.
217 mpfr_sinh(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_sqrt()
Definition at line 320 of file fun_mpfr.c.
322 mpfr_sqrt(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_sum()
Definition at line 410 of file fun_mpfr.c.
415 mpfr_trunc(
c->mf,
c->mf);
static void stat_sum(mpfr_t sum)
◆ rpn_sum2()
Definition at line 418 of file fun_mpfr.c.
423 mpfr_trunc(
c->mf,
c->mf);
static void stat_sum2(mpfr_t sum)
◆ rpn_tan()
Definition at line 177 of file fun_mpfr.c.
179 mpfr_t mp_pi, mp_pi_2, mp_3_pi_2, mp_2_pi;
184 if (!mpfr_cmp(
c->mf, mp_pi_2) || !mpfr_cmp(
c->mf, mp_3_pi_2))
187 if (!mpfr_cmp(
c->mf, mp_pi) || !mpfr_cmp(
c->mf, mp_2_pi))
190 mpfr_tan(
c->mf,
c->mf, MPFR_DEFAULT_RND);
195 mpfr_clear(mp_3_pi_2);
static void validate_angle2rad(calc_number_t *c)
void rpn_zero(calc_number_t *c)
static void build_rad_const(mpfr_t *mp_pi, mpfr_t *mp_pi_2, mpfr_t *mp_3_pi_2, mpfr_t *mp_2_pi)
◆ rpn_tanh()
Definition at line 225 of file fun_mpfr.c.
227 mpfr_tanh(
c->mf,
c->mf, MPFR_DEFAULT_RND);
◆ rpn_zero()
◆ stat_sum()
static void stat_sum |
( |
mpfr_t |
sum | ) |
|
|
static |
◆ stat_sum2()
static void stat_sum2 |
( |
mpfr_t |
sum | ) |
|
|
static |
Definition at line 367 of file fun_mpfr.c.
373 mpfr_set_ui(
sum, 0, MPFR_DEFAULT_RND);
375 mpfr_mul(
sqr,
p->num.mf,
p->num.mf, MPFR_DEFAULT_RND);
376 mpfr_add(
sum,
sum,
sqr, MPFR_DEFAULT_RND);
static int sum(int x_, int y_)
Referenced by rpn_ave2(), and rpn_sum2().
◆ validate_angle2rad()
Definition at line 81 of file fun_mpfr.c.
85 if (!mpfr_number_p(
r->mf)) {
93 mpfr_const_pi(mult, MPFR_DEFAULT_RND);
94 mpfr_set_ui(divs, 180, MPFR_DEFAULT_RND);
97 mpfr_set_ui(mult, 1, MPFR_DEFAULT_RND);
98 mpfr_set_ui(divs, 1, MPFR_DEFAULT_RND);
101 mpfr_const_pi(mult, MPFR_DEFAULT_RND);
102 mpfr_set_ui(divs, 200, MPFR_DEFAULT_RND);
105 mpfr_mul(
r->mf,
r->mf, mult, MPFR_DEFAULT_RND);
106 mpfr_div(
r->mf,
r->mf, divs, MPFR_DEFAULT_RND);
GLdouble GLdouble GLdouble r
Referenced by rpn_cos(), rpn_sin(), and rpn_tan().
◆ validate_rad2angle()
Definition at line 54 of file fun_mpfr.c.
62 mpfr_set_ui(mult, 180, MPFR_DEFAULT_RND);
63 mpfr_const_pi(divs, MPFR_DEFAULT_RND);
66 mpfr_set_ui(mult, 1, MPFR_DEFAULT_RND);
67 mpfr_set_ui(divs, 1, MPFR_DEFAULT_RND);
70 mpfr_set_ui(mult, 200, MPFR_DEFAULT_RND);
71 mpfr_const_pi(divs, MPFR_DEFAULT_RND);
74 mpfr_mul(
r->mf,
r->mf, mult, MPFR_DEFAULT_RND);
75 mpfr_div(
r->mf,
r->mf, divs, MPFR_DEFAULT_RND);
GLdouble GLdouble GLdouble r
Referenced by rpn_acos(), rpn_asin(), and rpn_atan().