Modul:Vorlage:Plx2Dist2
Erscheinungsbild
Die Dokumentation für dieses Modul kann unter Modul:Vorlage:Plx2Dist2/Doku erstellt werden
local p = {}
local function trim(s)
s = mw.ustring.gsub(s,"\n","");
while mw.ustring.sub(s,1,1) == " " do
s= mw.ustring.sub(s,2,-1);
end
while mw.ustring.sub(s,-1,-1) == " " do
s= mw.ustring.sub(s,1,-2);
end
return s;
end
local function GetMinMaxParsec(value,sigma)
local Plx= tonumber(value) or 0;
local Diff=tonumber(sigma) or 0;
if Plx <= 0 or Diff >= Plx then
return 0, 0, 0, false
end
local Dist = 1000 / Plx;
local DistMin = 1000 / (Plx + Diff);
local DistMax = 1000 / (Plx - Diff);
return DistMin, Dist, DistMax, true;
end
function p.Run(frame)
local Min = 0;
local Val = 0;
local Max = 0;
local IsOk = false;
local val = tonumber(frame.args[1]) or 0;
local sig = tonumber(frame.args[2]) or 0;
Min, Val, Max, IsOk = GetMinMaxParsec(val,sig);
local Result='<span class="error">???</span>';
if not IsOk then
return Result;
end
Result = tostring(math.floor (Min+0.5)) .. " | ".. tostring(math.floor (Val)) .. " | ".. tostring(math.floor (Max+0.5))
return Result
end