問題タブ [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.

0 投票する
2 に答える
1671 参照

ios - iOS で tgmath を使用するにはどうすればよいですか?

64 ビット サポートを有効にして最初のプロジェクトをコンパイルしています。float への暗黙的な変換に関する多くのコンパイラ警告が表示されます。これは、fabsf() を使用して結果を CGFloat (新しい 64 ビット アーキテクチャでは float ではなく double) に代入しているためです。

この質問に対する回答によると:

CGFloat ベースの数学関数?

この問題を解決する必要があり#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);

他の誰かがこれに出くわしましたか? どのように解決しましたか?この警告を無効にしたり、大量の型キャストでコードを散らかしたりしたくありません。

0 投票する
1 に答える
330 参照

c++ - __tg_promote は tgmath.h で何をしますか

tgmath.h入力値のサイズに基づいて正しい関数を選択する方法を正確に理解しようとしています。

特別なソースはこの__tg_promoteマクロのようですが、深く掘り下げるほど、このパズルは深くなります。誰かが__tg_promote実際に何をするかについて簡単な答えを持っていますか?

0 投票する
2 に答える
112 参照

c - Cで数値を比較するためのstrcmpのようなインターフェース

strcmp数値を比較するためのようなインターフェイスを作成したい。たとえば、 C (C++ ではない) でint if 、if 、ifncmp(x, y)を返す。> 0x > y0x = y< 0x < y

必ずしも型を制約したくはありませんが、私の主な関心はsigned long ints とdoubles を比較することです。「インターフェース」は、のようにマクロにtgmath.hすることも、関数 (のセット) にすることもできます。と のすべてのペアが機能するようsigned long intdoubleします。たとえば(signed long int, double)、動作するはずです。(double, double)

私が現在使用しているのは、次のマクロです。

この単純なマクロには落とし穴がありますか? 数値を比較するためのより優れた堅牢なソリューションはありますか?

どんな助けでも大歓迎です!