20
21
22
23
24
25
26
27
28
29
30
31
32
33
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
end
local dsq = (d.x ^ 2) + (d.y ^ 2) + (d.z ^ 2)
return dsq / (dist^2)
-- [0,1) == less then
-- 1 == equal
-- >1 == greater than
end
-- produce an SI expression for a quantity
fn.si = function(unit, val, full, uncommonScales, prec)
if val == 0 then return '0 ' .. unit end
local scales = {
{30, 'Q', 'quetta',true, 'q', 'quecto',true};
{27, 'R', 'ronna', true, 'r', 'ronto', true};
................................................................................
end
end
return unit
end
for i, s in ipairs(scales) do
local amt, smaj, pmaj, cmaj,
smin, pmin, cmin = lib.tbl.unpack(s)
if math.abs(val) > 1 then
if uncommonScales or cmaj then
local denom = 10^amt
local vd = val/denom
if prec then vd = lib.math.trim(vd, prec) end
|
|
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
..
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
end
local dsq = (d.x ^ 2) + (d.y ^ 2) + (d.z ^ 2)
return dsq / (dist^2)
-- [0,1) == less then
-- 1 == equal
-- >1 == greater than
end
local unpack = table.unpack or unpack
-- produce an SI expression for a quantity
fn.si = function(unit, val, full, uncommonScales, prec)
if val == 0 then return '0 ' .. unit end
local scales = {
{30, 'Q', 'quetta',true, 'q', 'quecto',true};
{27, 'R', 'ronna', true, 'r', 'ronto', true};
................................................................................
end
end
return unit
end
for i, s in ipairs(scales) do
local amt, smaj, pmaj, cmaj,
smin, pmin, cmin = unpack(s)
if math.abs(val) > 1 then
if uncommonScales or cmaj then
local denom = 10^amt
local vd = val/denom
if prec then vd = lib.math.trim(vd, prec) end
|