問題タブ [cordic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - キャリーセーブ番号の右シフト
キャリー保存算術では、2 倍のビット数を使用します。1 ワードは「仮想合計」を保持し、1 ワードは「仮想キャリー」を保持して、ハードウェア速度の制限要因であるキャリーの伝搬を回避します。
これらの数値を 2 の累乗で割る必要があるシステムがありますが、両方の数値を右にシフトするだけでは、すべての場合に機能しません。2 つの 16 ビット キャリー セーブ番号を追加して 4000 を生成します。C001 は仮想合計、7FFF は仮想キャリーです。
要するに: キャリー セーブの数値を 2 の累乗で割るにはどうすればよいでしょうか? (キャリーセーブ番号のまま)
java - BigDecimals を使用した Java CORDIC 実装の小さなエラー
私は CORDIC アルゴリズムを Java で実装しました。最初の反復では、http://en.wikipedia.org/wiki/CORDICの例をJava で書き直しました。
0.32719469679615224417334408526762060
しかし、私の実装は小さなエラーで sin と cos を返しているようです: 例えば、私の実装の intead の 1/3 の正弦を計算すると、
0.3271946967961523696204423482988852
小数点以下 14 桁までしか正しくありません。MathContext.DECIMAL128
したがって、これらのテストは失敗します。
私の実装は次のようになります。
formatting - 利用可能なすべての精度で Rust 浮動小数点数を出力するにはどうすればよいですか?
sin
三角関数の CORDIC アルゴリズムを実装しています。これを行うには、一連のアークタンジェント値をハードコーディング/計算する必要があります。現在、私の関数は(Wolfram Alpha によって検証されているように) 出力される精度で動作しているようですが、f32
. どうすればいいですか?
math - CORDIC ゲインを使用する理由
私はコルディックを勉強しています。そして、コーディックゲインを見つけました。K=0.607XXX.
CORDIC から、K_i = cos(tan^-1(2^i))。
私が知っているように、私が無限大に行くとき、K は 0.607xxx に近づきます。
この値は、すべての K 乗算から得られます。
それぞれのkが存在する理由がわかりました。しかし、私は興味があります。どこで使用されますか? なぜその値 K=0.607xx を使用するのでしょうか?