問題タブ [tgmath]
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.
ios - iOS で tgmath を使用するにはどうすればよいですか?
64 ビット サポートを有効にして最初のプロジェクトをコンパイルしています。float への暗黙的な変換に関する多くのコンパイラ警告が表示されます。これは、fabsf() を使用して結果を CGFloat (新しい 64 ビット アーキテクチャでは float ではなく double) に代入しているためです。
この質問に対する回答によると:
この問題を解決する必要があり#include <tgmath.h>
、おそらくに変更するfabsf
必要がありfabs
ます。これが役に立たないように見えるファイルが少なくとも 1 つあります。それでも警告implicit conversion loses floating-point precision 'double' to 'CGFloat' aka (float).
が表示されます: その警告を生成する行は次のとおりです。
CGFloat deltaX = fabs(item.center.x-point.x);
他の誰かがこれに出くわしましたか? どのように解決しましたか?この警告を無効にしたり、大量の型キャストでコードを散らかしたりしたくありません。
c++ - __tg_promote は tgmath.h で何をしますか
tgmath.h
入力値のサイズに基づいて正しい関数を選択する方法を正確に理解しようとしています。
特別なソースはこの__tg_promote
マクロのようですが、深く掘り下げるほど、このパズルは深くなります。誰かが__tg_promote
実際に何をするかについて簡単な答えを持っていますか?
c - Cで数値を比較するためのstrcmpのようなインターフェース
strcmp
数値を比較するためのようなインターフェイスを作成したい。たとえば、 C (C++ ではない) でint if 、if 、ifncmp(x, y)
を返す。> 0
x > y
0
x = y
< 0
x < y
必ずしも型を制約したくはありませんが、私の主な関心はsigned long int
s とdouble
s を比較することです。「インターフェース」は、のようにマクロにtgmath.h
することも、関数 (のセット) にすることもできます。と のすべてのペアが機能するようsigned long int
にdouble
します。たとえば(signed long int, double)
、動作するはずです。(double, double)
私が現在使用しているのは、次のマクロです。
この単純なマクロには落とし穴がありますか? 数値を比較するためのより優れた堅牢なソリューションはありますか?
どんな助けでも大歓迎です!