48 lines
1.1 KiB
Plaintext
48 lines
1.1 KiB
Plaintext
$if($p, $t, $f) = {
|
|
$('$t' if $p else '$f')
|
|
}
|
|
|
|
$comment($x) = {}
|
|
|
|
$float($v) = { $(round($v, 2)) }
|
|
|
|
$rec($exp, $v) = {
|
|
$x = $float($v)
|
|
$if($x <= 0,done,$exp $quote($rec($exp, $($x - 1))))
|
|
}
|
|
|
|
$descseq($expr, $var, $sw, $ew, $start, $step) = {
|
|
[SEQ<%- for step in steps(0, $sw - $ew, $step) -%>
|
|
<%- set $var = round($sw - step, 2) -%>
|
|
<%- if $var >= $ew -%>
|
|
:$expr:<= round($start + step, 2) =>
|
|
<%- endif -%>
|
|
<%- endfor -%>
|
|
<%- set $var = $ew -%>:$expr:1]
|
|
}
|
|
|
|
$ascseq($expr, $var, $sw, $ew, $start, $step) = {
|
|
[SEQ<%- for step in steps(0, round($ew - $sw, 2), $step) -%>
|
|
<%- set $var = round($sw+step, 2) -%>
|
|
<%- if $var < $ew -%>
|
|
:$expr:<= round($start + step, 2) =>
|
|
<%- endif -%>
|
|
<%- endfor -%>
|
|
<%- set $var = $ew -%>:$expr:1]
|
|
}
|
|
|
|
$warmlora($lora, $e, $start, $step) = {
|
|
$x = <lora:$lora:<= x + $start =>>; $y = $($e - $start)
|
|
$ascseq($x, x, 0, $y, $step, $step)
|
|
}
|
|
|
|
$coollora($lora, $start, $step) = {
|
|
$x = <lora:$lora:<= x =>>
|
|
$descseq($x, x, $start, 0, 0, $step)
|
|
}
|
|
|
|
$rectmask($x, $y, $size) = {
|
|
MASK($x "<=" $x + $size "=>", $y "<=" $y + $size "=>")
|
|
|
|
}
|