[pascal]// Angle between 2 vectors, given as angles
function Angle3(src,dest: double): double;
begin
result:=src-dest;
while result<-180 do result:=result+360;
while result>180 do result:=result-360;
end;[/pascal]

[pascal]// Give parameter for example 300 and result is 512, which is
// a fitting power of 2 (useful with dynamic arrays, textures or other data)
function Pow2fit(n: integer): integer;
var neg: boolean;
begin
if n<0 then begin
n:=-n; neg:=true;
end else neg:=false;
if n<3 then result:=n
else result:=round(intpower(2,ceil(log2(n))));
if neg then result:=-result;
end;[/pascal]