TLDR:32ビットと64ビット両方のCGFloatを警告なしでコンパイルする方法で標準浮動小数点コードを呼び出すにはどうすればよいですか?CGFloat:round、floor、abs、および32/64ビット精度
CGFloatは、コンパイラの設定とプラットフォームに応じて、doubleまたはfloatのいずれかとして定義されます。私は、多くの警告を生成せずに、両方の状況でうまく動作するコードを作成しようとしています。
floor、abs、ceilなどの単純な浮動小数点演算のような関数を使用すると、値が切り捨てられるという警告が表示されます。例えば:
警告:暗黙的な変換は私ことを理解するように、私は、計算の精度の正確さまたは損失心配はないです32ビット値
に64ビット値を短縮常にすべての関数の倍精度バージョンを使用できます(floorfではなくfloorなど)。しかし、私はこれらのエラーを許容する必要があります。
多くの#ifdef __ LP64 __を使用することなく、またはすべての標準浮動小数点関数のラッパー関数を書くことなく、32ビットと64ビットの両方の浮動小数点をサポートするコードをきちんと記述する方法はありますか?
は今、私が検索するために知っていることを、私はこの質問を見つけました:http://stackoverflow.com/questions/ 5352457/cgfloat-based-math-functions – leecbaker
Xcode 6.1では、モジュールが有効な場合、tgmathを含めても役立たないことに注意してください。 http://stackoverflow.com/q/23333287/449161を参照してください。 –