多倍長演算 (浮動小数点) |
戻る(メイン・メニュー) |
本プログラム群は、下記2〜13のプログラムを個別にコンパイルした後、1個のライブラリ化することを前提に
作成されています。 使用例は、そのライブラリを使用した例です。 各プログラムは、相互に関連しているため、各プログラム単独ではほとんど使用できません。 現ライブラリでは,仮数部を要素数100個の int 型配列で表し、最大10進約450桁までの演算をサポートします。ヘッダファイル(定義、定数)を変更しライブラリを再構築すれば、拡張することができます。 拡張する場合には、
|
MPAライブラリ 使用法参照 MPA:Multiple-Precision Arithmetic =多倍長浮動小数点演算
No. | 内容 | 機能 | ソース |
1 | ヘッダー群 | マスターヘッダー | mpa.h |
サブヘッダー(定義) | mpa_d.h | ||
サブヘッダー(宣言) | mpa_p.h | ||
サブヘッダー(定数) | mpa_v.h | ||
2 | MPA値設定 | m_set( ), m_set_a( ), m_set_l( ) m_int( ), m_frac( ), m_round( ) |
m_set.c |
3 | ゼロ値判定 | m_z_chk( ) | m_zero.c |
4 | 比較 | m_cmp( ), m_cmp_a( ), m_cmp_s( ), m_acc( ) | m_cmp.c |
5 | 加減算 | m_add( ), m_sub( ), m_add_a( ), m_sub_a( ) m_prs( ), m_add1( ), m_sub1( ), m_add1_a( ) m_sub1_a( ), m_add_ss( ), m_sub_ss( ), m_adj( ) |
m_add.c |
6 | 乗除算 | m_mul( ), m_div( ), m_mul_s( ), m_div_s( ) m_mul1( ), m_div1( ), m_mul1_s( ), m_div1_s( ) m_mul_ss( ), m_div_ss( ), m_inv( ), m_pwr_s( ) m_sqr( ), m_sqrt( ), m_idiv( ) |
m_mul.c |
7 | 表示・出力 | m_print( ), m_printe( ), m_prt_b( ), m_prt_m( ) | m_print.c |
8 | 数値変換 | m_iset( ), m_iset_s( ) | m_iset.c |
9 | 指数・対数・べき乗 双曲線関数 |
m_exp( ), m_log( ), m_log10( ) m_x_y( ), m_10( ), m_x1n( ) m_hcos( ), m_hsin( ), m_htan( ) m_ahsin( ), m_ahcos( ), m_ahtan( ) |
m_exp.c |
10 | 三角関数 | m_sin( ), m_cos( ), m_2pi( ), m_tan( ) m_asin( ), m_acos( ), m_atan( ) |
m_tri.c |
11 | 公約数・公倍数 階乗・2項係数 |
m_gcd( ), m_lcm( ), m_kaijo( ), m_bino( ) | m_gcd.c |
12 | 乱数 | m_rand( ), m_srand( ) | m_rand.c |
13 | 定数 | e( ), pi( ), ln2( ), ln625( ), ln75( ) | m_mak_v.c |
14 | 定数ヘッダファイル生成 | (独立プログラム) | mak_vh.c |
No. | 内容 | ソース |
1 | 全般機能テスト | mpa.c |
2 | 数値設定・出力テスト | test1.c |
3 | 三角関数テスト | test2.c |