1
{ ******************************************************************
3
Based on FreeBASIC version contributed by R. Keeling
4
****************************************************************** }
11
utypes, uminmax, umath;
13
function RoundN(X : Float; N : Integer) : Float;
14
{ Rounds X to N decimal places }
16
function Ceil(X : Float) : Integer;
19
function Floor(X : Float) : Integer;
24
function RoundN (X : Float; N : Integer) : Float;
28
ReturnAnswer, Dec_Place : Float;
31
if (N >= 0) and (N < MaxRoundPlaces) then I := N else I := 0;
32
Dec_Place := Exp10(I);
33
ReturnAnswer := Int((Abs(X) * Dec_Place) + 0.5);
34
RoundN := Sgn(X) * ReturnAnswer / Dec_Place;
37
function Ceil(X : Float) : Integer;
39
ReturnAnswer : Integer;
41
ReturnAnswer := Trunc(X);
42
if ReturnAnswer < X then ReturnAnswer := ReturnAnswer + 1;
46
function Floor(X : Float) : Integer;
48
ReturnAnswer : Integer;
50
ReturnAnswer := Trunc(X);
51
if ReturnAnswer > X then ReturnAnswer := ReturnAnswer - 1;
52
Floor := ReturnAnswer;
b'\\ No newline at end of file'