MMX SSE 3D NOW!のプログラミング at TECH
[2ch|▼Menu]
340:デフォルトの名無しさん
07/06/02 00:29:40

>>335
よく考えたら f(x)=exp(x)で f'(x)=exp(x)だからexpをニュートンで求めるのは無理だな。
 
テーラー展開でやってみたんだが
・テーラー展開式 exp(x)=肺^n/n!
・階乗部分をすべて初期値設定
0!:n0=1
1!:n1=1
2!:n2=2
・・・
x:入力値
expsse:求める値

x=_mm_mul_pd(x,x);
expsse=_mm_add_pd((expsse, _mm_div_pd(x, n0));
x=_mm_mul_pd(x,x);
expsse=_mm_add_pd((expsse, _mm_div_pd(x, n1));
x=_mm_mul_pd(x,x);
expsse=_mm_add_pd((expsse, _mm_div_pd(x, n2));
・・・

こんな感じ。for分使わずn=20までやって精度9桁くらいだったかな。
しかし処理時間は非常に遅かった。
時間がなかったのであまり詳しく調べなかったがコーディングに問題あるかな?



次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5202日前に更新/141 KB
担当:undef