メインページ   モジュール   データ構造   ファイル一覧   データフィールド   グローバル  

出力
[多倍長整数]


モジュール

下位関数群

関数

int ymp_print_hex (FILE *fp, mp_cref_t mz)
 多倍長整数を16進表記で簡易出力. より詳しく...

void ymp_dump (FILE *fp, mp_cref_t mz)
 多倍長整数の内部状態をダンプ. より詳しく...


関数の解説

int ymp_print_hex FILE *    fp,
mp_cref_t    mz
 

多倍長整数を16進表記で簡易出力.

引数:
fp  出力先のファイル
mz  出力されるstruct multiprecへのポインタ
戻り値:
出力されたバイト数

io.c120 行で定義されています。

参照 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 }

void ymp_dump FILE *    fp,
mp_cref_t    mz
 

多倍長整数の内部状態をダンプ.

引数:
fp  出力先のファイル
mz  ダンプされるstruct multiprecへのポインタ

io.c152 行で定義されています。

参照 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 }


YMPに対してTue Mar 16 19:23:52 2004に生成されました。 doxygen1.2.14 作者 Dimitri van Heesch, © 1997-2002