|
LAMMP 4.1.0
Lamina High-Precision Arithmetic Library
|
#include "../../include/lammp/impl/base_table.h"#include "../../include/lammp/impl/mparam.h"#include "../../include/lammp/impl/tmp_alloc.h"#include "../../include/lammp/lmmpn.h"
to_str.c 的引用(Include)关系图:函数 | |
| mp_size_t | lmmp_to_str_ (mp_byte_t *dst, mp_srcptr numa, mp_size_t na, int base) |
| 大数转字符串操作 [numa,na,B] to [dst,return value,base] | |
| static mp_size_t | lmmp_to_str_basecase_ (mp_byte_t *dst, mp_srcptr numa, mp_size_t na, int base) |
| static mp_size_t | lmmp_to_str_divide_ (mp_byte_t *dst, mp_ptr numa, mp_size_t na, mp_basepow_t *pow, mp_ptr tpq) |
| mp_size_t | lmmp_to_str_len_ (mp_srcptr numa, mp_size_t na, int base) |
| 计算大数转换为字符串,字符串需要的缓冲区长度 | |
大数转字符串操作 [numa,na,B] to [dst,return value,base]
| dst | 字符串结果输出指针 |
| numa | 大数源指针 |
| na | 大数的 limb 长度 |
| base | 目标字符串的进制基数 |
引用了 BALLOC_TYPE, mp_basepow_t::base, mp_basepow_t::digits, mp_base_t::digits_in_limb, DIV_MULINV_L_THRESHOLD, mp_basepow_t::invp, mp_base_t::large_base, LIMB_BITS, lmmp_bases_table, lmmp_copy, lmmp_div_inv_size_(), lmmp_from_str_len_(), lmmp_inv_prediv_(), lmmp_leading_zeros_(), lmmp_limb_bits_(), lmmp_mul_1_(), LMMP_POW2_Q, lmmp_shl_(), lmmp_sqr_(), lmmp_tailing_zeros_(), lmmp_to_str_basecase_(), lmmp_to_str_divide_(), lmmp_to_str_len_(), mp_basepow_t::ni, mp_basepow_t::np, mp_basepow_t::p, TEMP_DECL, TEMP_FREE, TO_STR_BASEPOW_THRESHOLD, tp , 以及 mp_basepow_t::zeros.
函数调用图:
|
static |
引用了 mp_base_t::digits_in_limb, mp_base_t::large_base, lmmp_bases_table, lmmp_copy, lmmp_div_1_(), lmmp_mulh_(), lmmp_param_assert, TO_STR_BASEPOW_THRESHOLD , 以及 tp.
被这些函数引用 lmmp_to_str_() , 以及 lmmp_to_str_divide_().
函数调用图:
这是这个函数的调用关系图:
|
static |
引用了 mp_basepow_t::base, mp_basepow_t::digits, mp_basepow_t::invp, LIMB_BITS, lmmp_div_mulinv_(), lmmp_div_s_(), lmmp_param_assert, lmmp_shl_(), lmmp_shr_(), lmmp_to_str_basecase_(), lmmp_to_str_divide_(), mp_basepow_t::ni, mp_basepow_t::norm_cnt, mp_basepow_t::np, mp_basepow_t::p, TO_STR_DIVIDE_THRESHOLD , 以及 mp_basepow_t::zeros.
被这些函数引用 lmmp_to_str_() , 以及 lmmp_to_str_divide_().
函数调用图:
这是这个函数的调用关系图:计算大数转换为字符串,字符串需要的缓冲区长度
| numa | 输入大数,长度为na |
| na | 大数的 limb 长度 |
| base | 目标基数(2~256) |
引用了 LIMB_BITS, lmmp_bases_table, lmmp_limb_bits_(), lmmp_mulh_() , 以及 lmmp_param_assert.
被这些函数引用 lmmp_to_str_().
函数调用图:
这是这个函数的调用关系图: