19 lines
497 B
Plaintext
19 lines
497 B
Plaintext
|
node gen_x_v1() returns (x:real) = loop 0.0<x and x<42.0
|
||
|
|
||
|
node gen_x_v2() returns (x:real) =
|
||
|
loop { 0.0<x and x<42.0 fby loop [20] x = pre x }
|
||
|
|
||
|
node gen_x_v3() returns (target:real; x:real=0.0) =
|
||
|
run target := gen_x_v2() in
|
||
|
loop { x = (pre x + target) / 2.0 }
|
||
|
|
||
|
let inertia=0.6
|
||
|
|
||
|
node gen_x_v4() returns (target:real; x:real=0.0) =
|
||
|
run target := gen_x_v2() in
|
||
|
exist px,ppx : real = 0.0 in
|
||
|
loop {
|
||
|
px = pre x and ppx = pre px and
|
||
|
x = (px+target) / 2.0+inertia*(px-ppx)
|
||
|
}
|