nanvm_demos/gen.samples/
loops.rs1use nanvm_lib::vm::unstable::{f64_any, string_key};
4use nanvm_lib::vm::{Any, Array, IStaticFunction, ToAny, ToArray, ToObject};
5
6#[rustfmt::skip]
7#[allow(clippy::if_same_then_else)]
8pub fn module<A: IStaticFunction>(_runtime: Any<A>) -> Result<Any<A>, Any<A>> {
9 Ok([(string_key("default"), A::static_function(|_self, _args| {
10 let _b14: Any<A> = A::static_function(|_self, _args| {
11 let mut _b1103: Any<A> = _args.argument(0);
12 '_loop14: while Any::<A>::to_boolean({
13 let _b1104: Any<A> = _b1103.clone();
14 let _b2: Any<A> = (Any::dot(_b1104.clone(), f64_any(0x3ff0000000000000)).end())?;
15 let _b3: Any<A> = (Any::dot(_b1104.clone(), f64_any(0x0000000000000000)).end())?;
16 (Any::lt(_b3.clone(), A::frame(_self)[0].clone()))?
17 }) {
18 let _b778_9: Any<A> = _b1103.clone();
19 let _b2: Any<A> = (Any::dot(_b778_9.clone(), f64_any(0x3ff0000000000000)).end())?;
20 let _b3: Any<A> = (Any::dot(_b778_9.clone(), f64_any(0x0000000000000000)).end())?;
21 let _b1107: Any<A> = [(_b3.clone() * f64_any(0x4000000000000000))?, (_b2.clone() + f64_any(0x3ff0000000000000))?].to_array().to_any();
22 _b1103 = _b1107.clone();
23 }
24 let _b1105: Any<A> = _b1103;
25 let _b797: Any<A> = {
26 let _b1106: Any<A> = _b1105.clone();
27 let _b2: Any<A> = (Any::dot(_b1106.clone(), f64_any(0x3ff0000000000000)).end())?;
28 let _b3: Any<A> = (Any::dot(_b1106.clone(), f64_any(0x0000000000000000)).end())?;
29 [_b3.clone(), _b2.clone()].to_array().to_any()
30 };
31 Ok(_b797.clone())
32 }, 1, [_args.argument(0)].to_array(), Some("($1)=>{let $2=$1;while((()=>{const $3=$2;const $4=$3[1];const $5=$3[0];return $5<$0;})()){const $6=$2;const $4=$6[1];const $5=$6[0];const $7=[$5*2,$4+1];$2=$7;}const $8=(()=>{const $9=$2;const $4=$9[1];const $5=$9[0];return [$5,$4];})();return $8;}")).to_any();
33 let _b16: Any<A> = (Any::call(_b14.clone(), [[f64_any(0x3ff0000000000000), f64_any(0x0000000000000000)].to_array().to_any()].to_array().to_any()))?;
34 Ok([(Any::dot(_b16.clone(), f64_any(0x0000000000000000)).end())?, (Any::dot(_b16.clone(), f64_any(0x3ff0000000000000)).end())?].to_array().to_any())
35 }, 1, Array::default(), Some("($0)=>{const $1=($2)=>{let $3=$2;while((()=>{const $4=$3;const $5=$4[1];const $6=$4[0];return $6<$0;})()){const $7=$3;const $5=$7[1];const $6=$7[0];const $8=[$6*2,$5+1];$3=$8;}const $9=(()=>{const $10=$3;const $5=$10[1];const $6=$10[0];return [$6,$5];})();return $9;};const $11=$1([1,0]);return [$11[0],$11[1]];}")).to_any())].to_object().to_any())
36}