C言語の関数をbcに変換する
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/16 15:16 UTC 版)
「bc (UNIX)」の記事における「C言語の関数をbcに変換する」の解説
bc の文法はC言語とよく似ているので、Cで書かれたアルゴリズムは容易に bc に翻訳可能であり、それによって bc の任意精度の恩恵を受けることができる。例えば、Journal of Statistical Software (July 2004, Volume 11, Issue 5) には、George Marsaglia の論文に累積正規分布に関する次のC言語コードが掲載されていた。 double Phi(double x){ long double s=x,t=0,b=x,q=x*x,i=1; while(s!=t) s=(t=s)+(b*=q/(i+=2)); return .5+s*exp(-.5*q-.91893853320467274178L);} これは簡単にGNU bc用に書き換えることができ、次のようになる。 define normal(x) { auto s,t,b,q,i,const; const=0.5*l(8*a(1)); s=x; t=0; b=x; q=x*x; i=1; while(s!=t) {s=(t=s)+(b*=q/(i+=2))}; return .5+s*e(-.5*q-const); }
※この「C言語の関数をbcに変換する」の解説は、「bc (UNIX)」の解説の一部です。
「C言語の関数をbcに変換する」を含む「bc (UNIX)」の記事については、「bc (UNIX)」の概要を参照ください。
- C言語の関数をbcに変換するのページへのリンク