Skip to content

WASM: Add support for f32 and f64

Ubaid Shaikh requested to merge shaikhubaid769/lfortran:wasm_floats into master

towards #700

Highlights:

For f32 and f64, it supports

  • basic arithmetic operations: add, sub, mul, div
  • unary_minus (and thus negative floats)
  • constants/literals
  • functions and function calls

Testing:

Appendix:

Testing Code: WASM: Add float f32 and f64 test case

JavaScript code for executing on https://webassembly.github.io/wabt/demo/wat2wasm/

const wasmInstance =
      new WebAssembly.Instance(wasmModule, {});
const { a_sqr, get_neg_f32, add_floats, get_pi, get_pi_64, z_computecirclearea } = wasmInstance.exports;

console.log(add_floats(2.3, -5.6));
console.log(get_pi())
console.log(get_pi_64())
console.log(z_computecirclearea(5.0))
console.log(get_neg_f32())
Edited by Ubaid Shaikh

Merge request reports