Skip to main content

nanvm_demos/gen.samples/
loops.rs

1// @generated by `fjs compile`. Do not edit: recompile the source module instead.
2
3use 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}