2010-01-25 08:59:44 -05:00
|
|
|
{
|
|
|
|
This file is part of the Mufasa Macro Library (MML)
|
|
|
|
Copyright (c) 2009 by Raymond van Venetië and Merlijn Wajer
|
|
|
|
|
|
|
|
MML is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
MML is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with MML. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
See the file COPYING, included in this distribution,
|
|
|
|
for details about the copyright.
|
|
|
|
|
|
|
|
Math.inc for the Mufasa Macro Library
|
|
|
|
}
|
|
|
|
|
2010-01-26 09:09:09 -05:00
|
|
|
function psSqr( e : extended) : extended; stdcall;
|
2010-01-25 08:59:44 -05:00
|
|
|
begin;
|
|
|
|
result := sqr(e);
|
|
|
|
end;
|
|
|
|
|
2010-01-26 09:09:09 -05:00
|
|
|
function ps_RandomRange(const aFrom, aTo: Integer): Integer; stdcall;
|
2010-01-25 08:59:44 -05:00
|
|
|
begin
|
|
|
|
Result:=Random(Abs(aFrom-aTo))+Min(aTo,AFrom);
|
|
|
|
end;
|
|
|
|
|
2010-01-26 09:09:09 -05:00
|
|
|
function Factorial(number: longword): Int64; stdcall;
|
2010-01-25 08:59:44 -05:00
|
|
|
var
|
|
|
|
Loop : longword;
|
|
|
|
begin
|
|
|
|
result := 1;
|
|
|
|
for loop := number downto 2 do
|
|
|
|
result := result * loop;
|
|
|
|
end;
|
|
|
|
|
2010-01-26 09:09:09 -05:00
|
|
|
function BinCoe(a, b: LongInt): Extended; stdcall;
|
2010-01-25 08:59:44 -05:00
|
|
|
begin
|
|
|
|
result := Factorial(a) / (factorial(b) * factorial(a-b));
|
|
|
|
end;
|
|
|
|
|
2010-01-26 09:09:09 -05:00
|
|
|
function FixD(Degrees : extended) : Extended; stdcall;
|
2010-01-25 08:59:44 -05:00
|
|
|
begin;
|
|
|
|
Result := Degrees;
|
|
|
|
while Result < 0 do
|
|
|
|
Result := Result + 360;
|
|
|
|
while Result > 360 do
|
|
|
|
Result := Result - 360;
|
|
|
|
end;
|
|
|
|
|
2010-01-26 09:09:09 -05:00
|
|
|
procedure psSwap(var A,B); stdcall;
|
2010-01-25 08:59:44 -05:00
|
|
|
var
|
|
|
|
TempPtr : Pointer;
|
|
|
|
begin;
|
|
|
|
TempPtr := pointer(A);
|
|
|
|
pointer(a) := pointer(b);
|
|
|
|
pointer(b) := TempPtr;
|
|
|
|
end;
|