wasm-opt-cxx-sys 0.0.1-preview.1

wasm-opt bindings via cxx
Documentation
import { setTempRet0 } from 'env';


  var scratchBuffer = new ArrayBuffer(16);
  var i32ScratchView = new Int32Array(scratchBuffer);
  var f32ScratchView = new Float32Array(scratchBuffer);
  var f64ScratchView = new Float64Array(scratchBuffer);
  
  function wasm2js_scratch_load_i32(index) {
    return i32ScratchView[index];
  }
      
  function wasm2js_scratch_store_i32(index, value) {
    i32ScratchView[index] = value;
  }
      
  function wasm2js_scratch_load_f64() {
    return f64ScratchView[0];
  }
      
  function wasm2js_scratch_store_f64(value) {
    f64ScratchView[0] = value;
  }
      
  function wasm2js_scratch_load_f32() {
    return f32ScratchView[2];
  }
      
  function wasm2js_scratch_store_f32(value) {
    f32ScratchView[2] = value;
  }
      
function asmFunc(env) {
 var Math_imul = Math.imul;
 var Math_fround = Math.fround;
 var Math_abs = Math.abs;
 var Math_clz32 = Math.clz32;
 var Math_min = Math.min;
 var Math_max = Math.max;
 var Math_floor = Math.floor;
 var Math_ceil = Math.ceil;
 var Math_trunc = Math.trunc;
 var Math_sqrt = Math.sqrt;
 var abort = env.abort;
 var nan = NaN;
 var infinity = Infinity;
 var setTempRet0 = env.setTempRet0;
 var i64toi32_i32$HIGH_BITS = 0;
 function $3($0) {
  $0 = Math_fround($0);
  return ~~$0 | 0;
 }
 
 function $4($0) {
  $0 = Math_fround($0);
  return ~~$0 >>> 0 | 0;
 }
 
 function $5($0) {
  $0 = +$0;
  return ~~$0 | 0;
 }
 
 function $6($0) {
  $0 = +$0;
  return ~~$0 >>> 0 | 0;
 }
 
 function $11($0) {
  $0 = $0 | 0;
  return Math_fround(Math_fround($0 | 0));
 }
 
 function $13($0) {
  $0 = $0 | 0;
  return +($0 | 0);
 }
 
 function $15($0) {
  $0 = $0 | 0;
  return Math_fround(Math_fround($0 >>> 0));
 }
 
 function $17($0) {
  $0 = $0 | 0;
  return +($0 >>> 0);
 }
 
 function $19($0) {
  $0 = Math_fround($0);
  return +$0;
 }
 
 function $20($0) {
  $0 = +$0;
  return Math_fround(Math_fround($0));
 }
 
 function $21($0) {
  $0 = $0 | 0;
  return Math_fround((wasm2js_scratch_store_i32(2, $0), wasm2js_scratch_load_f32()));
 }
 
 function $23($0) {
  $0 = Math_fround($0);
  return (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) | 0;
 }
 
 function legalstub$0($0) {
  i64toi32_i32$HIGH_BITS = $0 >> 31;
  setTempRet0(i64toi32_i32$HIGH_BITS | 0);
  return $0;
 }
 
 function legalstub$1($0) {
  i64toi32_i32$HIGH_BITS = 0;
  setTempRet0(0);
  return $0;
 }
 
 function legalstub$2($0, $1) {
  return $0;
 }
 
 function legalstub$7($0) {
  i64toi32_i32$HIGH_BITS = Math_fround(Math_abs($0)) >= Math_fround(1.0) ? ~~($0 > Math_fround(0.0) ? Math_fround(Math_min(Math_fround(Math_floor(Math_fround($0 * Math_fround(2.3283064365386963e-10)))), Math_fround(4294967296.0))) : Math_fround(Math_ceil(Math_fround(Math_fround($0 - Math_fround(~~$0 >>> 0 >>> 0)) * Math_fround(2.3283064365386963e-10))))) >>> 0 : 0;
  setTempRet0(i64toi32_i32$HIGH_BITS | 0);
  return ~~$0 >>> 0;
 }
 
 function legalstub$9($0) {
  i64toi32_i32$HIGH_BITS = Math_abs($0) >= 1.0 ? ~~($0 > 0.0 ? Math_min(Math_floor($0 * 2.3283064365386963e-10), 4294967295.0) : Math_ceil(($0 - +(~~$0 >>> 0 >>> 0)) * 2.3283064365386963e-10)) >>> 0 : 0;
  setTempRet0(i64toi32_i32$HIGH_BITS | 0);
  return ~~$0 >>> 0;
 }
 
 function legalstub$12($0, $1) {
  return Math_fround(+($0 >>> 0) + +($1 | 0) * 4294967296.0);
 }
 
 function legalstub$14($0, $1) {
  return +($0 >>> 0) + +($1 | 0) * 4294967296.0;
 }
 
 function legalstub$16($0, $1) {
  return Math_fround(+($0 >>> 0) + +($1 >>> 0) * 4294967296.0);
 }
 
 function legalstub$18($0, $1) {
  return +($0 >>> 0) + +($1 >>> 0) * 4294967296.0;
 }
 
 function legalstub$22($0, $1) {
  wasm2js_scratch_store_i32(0, $0 | 0);
  wasm2js_scratch_store_i32(1, $1 | 0);
  return +wasm2js_scratch_load_f64();
 }
 
 function legalstub$24($0) {
  var $1 = 0, $2 = 0;
  wasm2js_scratch_store_f64(+$0);
  $1 = wasm2js_scratch_load_i32(1) | 0;
  $2 = wasm2js_scratch_load_i32(0) | 0;
  i64toi32_i32$HIGH_BITS = $1;
  $1 = $2;
  setTempRet0(i64toi32_i32$HIGH_BITS | 0);
  return $1;
 }
 
 return {
  "i64_extend_s_i32": legalstub$0, 
  "i64_extend_u_i32": legalstub$1, 
  "i32_wrap_i64": legalstub$2, 
  "i32_trunc_s_f32": $3, 
  "i32_trunc_u_f32": $4, 
  "i32_trunc_s_f64": $5, 
  "i32_trunc_u_f64": $6, 
  "i64_trunc_s_f32": legalstub$7, 
  "i64_trunc_u_f32": legalstub$7, 
  "i64_trunc_s_f64": legalstub$9, 
  "i64_trunc_u_f64": legalstub$9, 
  "f32_convert_s_i32": $11, 
  "f32_convert_s_i64": legalstub$12, 
  "f64_convert_s_i32": $13, 
  "f64_convert_s_i64": legalstub$14, 
  "f32_convert_u_i32": $15, 
  "f32_convert_u_i64": legalstub$16, 
  "f64_convert_u_i32": $17, 
  "f64_convert_u_i64": legalstub$18, 
  "f64_promote_f32": $19, 
  "f32_demote_f64": $20, 
  "f32_reinterpret_i32": $21, 
  "f64_reinterpret_i64": legalstub$22, 
  "i32_reinterpret_f32": $23, 
  "i64_reinterpret_f64": legalstub$24
 };
}

var retasmFunc = asmFunc(  { abort: function() { throw new Error('abort'); },
    setTempRet0
  });
export var i64_extend_s_i32 = retasmFunc.i64_extend_s_i32;
export var i64_extend_u_i32 = retasmFunc.i64_extend_u_i32;
export var i32_wrap_i64 = retasmFunc.i32_wrap_i64;
export var i32_trunc_s_f32 = retasmFunc.i32_trunc_s_f32;
export var i32_trunc_u_f32 = retasmFunc.i32_trunc_u_f32;
export var i32_trunc_s_f64 = retasmFunc.i32_trunc_s_f64;
export var i32_trunc_u_f64 = retasmFunc.i32_trunc_u_f64;
export var i64_trunc_s_f32 = retasmFunc.i64_trunc_s_f32;
export var i64_trunc_u_f32 = retasmFunc.i64_trunc_u_f32;
export var i64_trunc_s_f64 = retasmFunc.i64_trunc_s_f64;
export var i64_trunc_u_f64 = retasmFunc.i64_trunc_u_f64;
export var f32_convert_s_i32 = retasmFunc.f32_convert_s_i32;
export var f32_convert_s_i64 = retasmFunc.f32_convert_s_i64;
export var f64_convert_s_i32 = retasmFunc.f64_convert_s_i32;
export var f64_convert_s_i64 = retasmFunc.f64_convert_s_i64;
export var f32_convert_u_i32 = retasmFunc.f32_convert_u_i32;
export var f32_convert_u_i64 = retasmFunc.f32_convert_u_i64;
export var f64_convert_u_i32 = retasmFunc.f64_convert_u_i32;
export var f64_convert_u_i64 = retasmFunc.f64_convert_u_i64;
export var f64_promote_f32 = retasmFunc.f64_promote_f32;
export var f32_demote_f64 = retasmFunc.f32_demote_f64;
export var f32_reinterpret_i32 = retasmFunc.f32_reinterpret_i32;
export var f64_reinterpret_i64 = retasmFunc.f64_reinterpret_i64;
export var i32_reinterpret_f32 = retasmFunc.i32_reinterpret_f32;
export var i64_reinterpret_f64 = retasmFunc.i64_reinterpret_f64;