モジュール | |
下位関数群 | |
関数 | |
int | ymp_print_hex (FILE *fp, mp_cref_t mz) |
多倍長整数を16進表記で簡易出力. より詳しく... | |
void | ymp_dump (FILE *fp, mp_cref_t mz) |
多倍長整数の内部状態をダンプ. より詳しく... |
|
多倍長整数を16進表記で簡易出力.
参照 digit_prec, と mp_cref_t.
00121 { 00122 int ret = 0; 00123 size_t i; 00124 00125 if (mz->sign) { putc('-', fp); ++ret; } 00126 00127 fputs("0x", fp); ret += 2; 00128 00129 i = mz->used; 00130 if (i == 0) 00131 { 00132 putc('0', fp); ++ret; 00133 } 00134 else 00135 { 00136 ret += fprintf(fp, "%x", mz->digits[--i]); 00137 while (i-- != 0) 00138 { 00139 ret += fprintf(fp, "%0*x", digit_prec, mz->digits[i]); 00140 } 00141 } 00142 return ret; 00143 } |
|
多倍長整数の内部状態をダンプ.
参照 digit_prec, と mp_cref_t.
00153 { 00154 size_t i; 00155 00156 fprintf(fp, "{mz used=%zu len=%zu, ", mz->used, mz->len); 00157 putc((mz->sign)?'-':'+', fp); 00158 for (i = 0; i < mz->used; ++i) 00159 fprintf(fp, " %0*x", digit_prec, mz->digits[i]); 00160 00161 if (mz->used < mz->len) 00162 { 00163 fputs(" |", fp); 00164 for ( ; i < mz->len; ++i) 00165 fprintf(fp, " %0*x", digit_prec, mz->digits[i]); 00166 } 00167 putc('}', fp); 00168 } |