diff --git a/rtl/inc/generic.inc b/rtl/inc/generic.inc index 23e2abc263..86b0cc2d3c 100644 --- a/rtl/inc/generic.inc +++ b/rtl/inc/generic.inc @@ -1926,6 +1926,36 @@ end; {$endif not FPC_SYSTEM_HAS_ABS_LONGINT} +{$if defined(CPUINT8)} +{$ifndef FPC_SYSTEM_HAS_ODD_SHORTINT} +function odd(l:shortint):Boolean;{$ifdef SYSTEMINLINE}inline;{$endif} +begin + odd:=boolean(l and 1); +end; +{$endif ndef FPC_SYSTEM_HAS_ODD_SHORTINT} +{$ifndef FPC_SYSTEM_HAS_ODD_BYTE} +function odd(l:byte):Boolean;{$ifdef SYSTEMINLINE}inline;{$endif} +begin + odd:=boolean(l and 1); +end; +{$endif ndef FPC_SYSTEM_HAS_ODD_BYTE} +{$endif CPUINT8} + +{$if defined(CPUINT16) or defined(CPUINT8)} +{$ifndef FPC_SYSTEM_HAS_ODD_SMALLINT} +function odd(l:smallint):Boolean;{$ifdef SYSTEMINLINE}inline;{$endif} +begin + odd:=boolean(l and 1); +end; +{$endif ndef FPC_SYSTEM_HAS_ODD_SMALLINT} +{$ifndef FPC_SYSTEM_HAS_ODD_WORD} +function odd(l:word):Boolean;{$ifdef SYSTEMINLINE}inline;{$endif} +begin + odd:=boolean(l and 1); +end; +{$endif ndef FPC_SYSTEM_HAS_ODD_WORD} +{$endif CPUINT16 or CPUINT8} + {$ifndef FPC_SYSTEM_HAS_ODD_LONGINT} function odd(l:longint):boolean;{$ifdef SYSTEMINLINE}inline;{$endif} diff --git a/rtl/inc/systemh.inc b/rtl/inc/systemh.inc index b25685a338..a4453ec84e 100644 --- a/rtl/inc/systemh.inc +++ b/rtl/inc/systemh.inc @@ -878,6 +878,14 @@ Function abs(l:Int64):Int64;[internconst:fpc_in_const_abs];{$ifdef SYSTEMINLINE} Function sqr(l:Longint):Longint;[internconst:fpc_in_const_sqr];{$ifdef SYSTEMINLINE}inline;{$endif} Function sqr(l:Int64):Int64;[internconst:fpc_in_const_sqr];{$ifdef SYSTEMINLINE}inline;{$endif} Function sqr(l:QWord):QWord;[internconst:fpc_in_const_sqr];{$ifdef SYSTEMINLINE}inline;{$endif} +{$if defined(CPUINT8)} +Function odd(l:shortint):Boolean;[internconst:fpc_in_const_odd];{$ifdef SYSTEMINLINE}inline;{$endif} +Function odd(l:byte):Boolean;[internconst:fpc_in_const_odd];{$ifdef SYSTEMINLINE}inline;{$endif} +{$endif CPUINT8} +{$if defined(CPUINT16) or defined(CPUINT8)} +Function odd(l:smallint):Boolean;[internconst:fpc_in_const_odd];{$ifdef SYSTEMINLINE}inline;{$endif} +Function odd(l:word):Boolean;[internconst:fpc_in_const_odd];{$ifdef SYSTEMINLINE}inline;{$endif} +{$endif CPUINT16 or CPUINT8} Function odd(l:Longint):Boolean;[internconst:fpc_in_const_odd];{$ifdef SYSTEMINLINE}inline;{$endif} Function odd(l:Longword):Boolean;[internconst:fpc_in_const_odd];{$ifdef SYSTEMINLINE}inline;{$endif} Function odd(l:Int64):Boolean;[internconst:fpc_in_const_odd];{$ifdef SYSTEMINLINE}inline;{$endif}