CまたはDの既存の実装、または浮動小数点セマンティクスを使用した符号付きおよび/または符号なし整数型の実装に関するアドバイスを探しています。
つまり、演算を行うときに浮動小数点型と同じように動作する整数型です。オーバーフローは、ラップアラウンドや未定義の動作ではなく、無限大(符号付きアンダーフローの場合は-infinity ) を生成し、未定義演算はNaNなどを生成します。
本質的には、表示可能な数値の分布が 0 の周りに集まるのではなく、数直線上に均等に収まるバージョンの浮動小数点です。
さらに、すべての操作は決定論的である必要があります。任意の 2 の補数 32 ビット アーキテクチャは、その実装に関係なく、同じ計算に対してまったく同じ結果を生成する必要があります (一方、浮動小数点はわずかに異なる結果を生成する可能性があり、多くの場合そうなるでしょう)。
最後に、パフォーマンスが懸念事項であり、潜在的な「bignum」(任意精度) ソリューションについて心配しています。
参照:固定小数点演算と飽和演算.