問題タブ [fixed-point]
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.
c++ - AT91SAM9ARMプロセッサLinuxユーザースペースプログラム用に最適化されたFFTと数学
AtmelのAT91SAM9G20プロセッサを搭載した組み込みLinuxシステム用のC/C++ソフトウェアを開発しています。Linuxユーザースペースプログラムを使用して、固定小数点(またはおそらく浮動小数点)の計算を使用してFFTをすばやく計算する必要があります。アセンブラが実装に関してここに行く方法である可能性があり、gccコンパイラを使用してコンパイルするときに追加の-mpcuスイッチが必要になる可能性があることを理解しています。この実装を進めるための最良の方法は何ですか?また、利用可能な優れた本のリファレンスまたは最適化されたFOSSライブラリはありますか?
短いFFT長(つまり1024ポイント)を何度も適用する必要があるいくつかのアルゴリズムを実装する必要があり、一部のライブラリ(kissfftなど)も同様に機能するかどうか疑問に思います。私は長いFFTの長さにも興味があるので、以下の回答で提案されているFFTWもうまく機能します。
この質問に関連して、ARM9Linuxユーザースペースプログラムで整数除算がどのように処理されるのか疑問に思っています。2つの整数(25/4など)を除算する場合、除算はソフト浮動小数点数を使用して行われますか?また、いくつかの大量のクランチアルゴリズムを実装する必要があります。ここでは、浮動小数点演算よりも固定小数点を使用する方がよいかどうか、およびgccコンパイラが実際に処理する方法について疑問に思っています。
c - C99 に固定小数点型が含まれていないのはなぜですか?
ありがたいことに、complex型修飾子が C99 標準に導入されました。私が理解できないのは、固定小数点演算のサポートを省略することにした理由です (具体的には、1.15 {signed} や 0.32 {unsigned} などの小数型をサポートします)。これらの型は DSP プログラミングの基本となります。
GCC は拡張機能を通じてこれらをサポートしていますか?
python - ファイルから読み取ったバイナリ シーケンスを固定小数点数に変換する
ITCH メッセージを含むファイルを解析しようとしています:
http://www.nasdaqtrader.com/Trader.aspx?id=DPSpecs_USEquities#TVITCH ¬ http://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/NQTV-ITCH-V4_1.pdf ¬
各価格は、18 個の整数部ビットと 14 個の小数部ビットを持つ 32 ビットの固定小数点数として表されます。(整数 6 桁の後に 10 進数 4 桁)
例えば
私は構造体クラスを見てきましたが、これはバイナリエンコードされたc構造体から変換するためのバイト全体のみを扱います。
decimal.Decimal モジュールを見てきましたが、文字列を使用してのみインスタンス化できるようです。これは、文字列形式の数値が既にあることを前提としています。
c - Cプログラミングの固定小数点演算
株価を高精度に保存するアプリケーションを作ろうとしています。現在、私はそうするためにダブルを使用しています。メモリを節約するために、他のデータ型を使用できますか?これは固定小数点演算と関係があることは知っていますが、理解できません。
c++ - FPUのないデバイスにC++で固定小数点演算を使用する利点
浮動小数点ユニットがないARMデバイス用にC++コードを最適化したいと思います。私の関数のほとんどは浮動小数点数を使用しており、それらを固定小数点に変更することを検討しています。
ARMデバイスの場合、本当の利点はありますか、それともコンパイラはこれを自分で行うのに十分賢いですか?
たとえば、これはARMデバイスでより効率的でしょうか
するより
c - Cの浮動小数点数の固定小数点演算のビットシフト
固定小数点演算とビットシフトをチェックするために、次のテストコードを作成しました。
結果は2.0000003.0000000.000000です。
最後の数字が0なのはなぜですか?5.000000が表示されることを期待していました。ある種の固定小数点演算を使用して、画像処理アプリケーションでの浮動小数点数の使用をバイパスしたいと考えています。浮動小数点配列を整数に変換するための最良/最も簡単/最も効率的な方法はどれですか?上記の「コンパイラをだます」は強力な回避策ですか?助言がありますか?
filter - 固定小数点 FIR フィルターの出力サイズ
出力フォーマットを理解できない 64 タップ FIR フィルターがあります。フィルターは、(符号付き) 固定小数点演算を使用して実装されています。{B,F} 形式 (B は語長、F は小数部の長さ) では、フィルター入力は {16,0}、係数は {16,17} です。フィルターの核心は次のとおりです。
for ループを繰り返すたびに、次の形式で出力が生成されます。
固定小数点演算の規則を使用します。32 回の反復があるため、オーバーフローを防ぐためにアキュムレータのサイズに 6 ビットを追加する必要があります。6 ビットは、(MATLAB) 式を使用して得られます。
このドキュメントのとおりです。私の推論によると、これはフォーマット {39,17} の出力になるはずです。では、なぜ MATLAB はフィルターの出力サイズを {34,17} と報告するのでしょうか? さらに、フィルター出力を入力と同じ形式にしたい場合、({39,17} の場合) 22 ビット右シフトする必要があると考えるのは正しいですか?
c - ARM Cortex-MでGCC固定小数点型拡張を利用するにはどうすればよいですか?
ARMCortex-M3とCortex-M4を使用しています。GCCの固定小数点型拡張を利用したい。私はsummon-arm-toolchainを使用しています。次のコード行
次のコンパイルエラーをスローします。
GCCは実際にはCortex-M3/M4の固定小数点型をサポートしていませんか、それともここで何かが足りませんか?
verilog - verilogに固定小数点乗数を実装する
verilogで相関を計算するシステムを設計する必要があり、ビット数が制限された固定小数点計算しか使用できません。したがって、入力の合計よりもビット数が少ない固定小数点乗算器を実装する必要があります(入力の長さと小数ビットの数は同じです)。
重要なのは、通常どおりに乗算してからビットを減らすことはできないということです。それで、それを行うための特別な方法はありますか?
java - 固定小数点数
Java クラスの紹介でプロジェクトに行き詰まっています。
数値を固定小数点数に変換するコードを作成する必要があります。その部分は問題ありませんが、行き詰まっているのは課題の数学部分です。足し算、引き算、(scalar (float) メソッドでの乗算)、scalar (float) メソッドでの除算が必要です。
ここに私がこれまでに持っているコードがあります。誰かが私を正しい方向に向けて、2番目の数値出力を取得し、2つの数値を加算するのを助けることができれば、私はそれを感謝します.