diff --git a/src/shared/utils.pas b/src/shared/utils.pas
index 946e4f5a07c7a31a5422fad1f2f479fb83ffce6a..c0ba824a9615188a05e25f4b0ac835f22bef2ffd 100644 (file)
--- a/src/shared/utils.pas
+++ b/src/shared/utils.pas
'.dfzip'
);
+{$IF DEFINED(FREEBSD) OR DEFINED(DARWIN)}
+const NilThreadId = nil;
+{$ELSE}
+const NilThreadId = 0;
+{$ENDIF}
+
// ////////////////////////////////////////////////////////////////////////// //
type
function readInt64BE (st: TStream): Int64;
function readUInt64BE (st: TStream): UInt64;
+function nlerp (a, b: Integer; t: Single): Integer; inline;
function nmin (a, b: Byte): Byte; inline; overload;
function nmin (a, b: ShortInt): ShortInt; inline; overload;
function nmin (a, b: UInt64): UInt64; inline; overload;
function nmin (a, b: Single): Single; inline; overload;
function nmin (a, b: Double): Double; inline; overload;
-{$IF DEFINED(CPU386) OR DEFINED(CPUAMD64)}
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
function nmin (a, b: Extended): Extended; inline; overload;
{$ENDIF}
function nmax (a, b: UInt64): UInt64; inline; overload;
function nmax (a, b: Single): Single; inline; overload;
function nmax (a, b: Double): Double; inline; overload;
-{$IF DEFINED(CPU386) OR DEFINED(CPUAMD64)}
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
function nmax (a, b: Extended): Extended; inline; overload;
{$ENDIF}
function nclamp (v, a, b: Byte): Byte; inline; overload;
function nclamp (v, a, b: UInt64): UInt64; inline; overload;
function nclamp (v, a, b: Single): Single; inline; overload;
function nclamp (v, a, b: Double): Double; inline; overload;
-{$IF DEFINED(CPU386) OR DEFINED(CPUAMD64)}
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
function nclamp (v, a, b: Extended): Extended; inline; overload;
{$ENDIF}
@@ -1528,6 +1535,8 @@ function readUInt64BE (st: TStream): UInt64; begin readIntegerBE(st, @result, 8)
// ////////////////////////////////////////////////////////////////////////// //
+function nlerp (a, b: Integer; t: Single): Integer; inline; begin result := round((1.0 - t) * a + t * b); end;
+
function nmin (a, b: Byte): Byte; inline; overload; begin if (a < b) then result := a else result := b; end;
function nmin (a, b: ShortInt): ShortInt; inline; overload; begin if (a < b) then result := a else result := b; end;
function nmin (a, b: Word): Word; inline; overload; begin if (a < b) then result := a else result := b; end;
@@ -1538,7 +1547,7 @@ function nmin (a, b: Int64): Int64; inline; overload; begin if (a < b) then resu
function nmin (a, b: UInt64): UInt64; inline; overload; begin if (a < b) then result := a else result := b; end;
function nmin (a, b: Single): Single; inline; overload; begin if (a < b) then result := a else result := b; end;
function nmin (a, b: Double): Double; inline; overload; begin if (a < b) then result := a else result := b; end;
-{$IF DEFINED(CPU386) OR DEFINED(CPUAMD64)}
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
function nmin (a, b: Extended): Extended; inline; overload; begin if (a < b) then result := a else result := b; end;
{$ENDIF}
@@ -1552,7 +1561,7 @@ function nmax (a, b: Int64): Int64; inline; overload; begin if (a > b) then resu
function nmax (a, b: UInt64): UInt64; inline; overload; begin if (a > b) then result := a else result := b; end;
function nmax (a, b: Single): Single; inline; overload; begin if (a > b) then result := a else result := b; end;
function nmax (a, b: Double): Double; inline; overload; begin if (a > b) then result := a else result := b; end;
-{$IF DEFINED(CPU386) OR DEFINED(CPUAMD64)}
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
function nmax (a, b: Extended): Extended; inline; overload; begin if (a > b) then result := a else result := b; end;
{$ENDIF}
@@ -1566,7 +1575,7 @@ function nclamp (v, a, b: Int64): Int64; inline; overload; begin if (v < a) then
function nclamp (v, a, b: UInt64): UInt64; inline; overload; begin if (v < a) then result := a else if (v > b) then result := b else result := v; end;
function nclamp (v, a, b: Single): Single; inline; overload; begin if (v < a) then result := a else if (v > b) then result := b else result := v; end;
function nclamp (v, a, b: Double): Double; inline; overload; begin if (v < a) then result := a else if (v > b) then result := b else result := v; end;
-{$IF DEFINED(CPU386) OR DEFINED(CPUAMD64)}
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
function nclamp (v, a, b: Extended): Extended; inline; overload; begin if (v < a) then result := a else if (v > b) then result := b else result := v; end;
{$ENDIF}