MulDiv
クロスプラットフォームで使用するためにDelphiXE3の関数を定義するユニットを見つけるのを手伝ってくれる人はいますか?そのプロトタイプは(通常どおり)Windowsユニットで定義されており、OSXでは明らかに機能しません。
MulDiv
Delphi XE3にクロスプラットフォームで使用する機能はありますか?
MulDiv
クロスプラットフォームで使用するための機能はなく、Windowsからインポートされたものだけがあります。したがって、必要に応じて、さまざまなプラットフォーム用にこのような機能を自分で作成する必要があります。たとえば、Lazarusはこれに同様のコードを使用します。
function MathRound(AValue: Extended): Int64; inline;
begin
if AValue >= 0 then
Result := Trunc(AValue + 0.5)
else
Result := Trunc(AValue - 0.5);
end;
function MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer;
begin
if nDenominator = 0 then
Result := -1
else
Result := MathRound(Int64(nNumber) * Int64(nNumerator) / nDenominator);
end;
ソースlcltype.pp
ユニットと発行#0009934
。