モジュール | |
| 下位関数群 | |
関数 | |
| 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 }
|
1.2.14 作者 Dimitri van Heesch,
© 1997-2002