mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-04-25 15:12:12 +00:00
* Rework IR and resolver to use nested lookup tables * Integrate types into IR * Make components prefer IR, slimmed down AST * Implement `export *` * Add `@lazy` annotation and remove `--noTreeShaking` * Add `@start` annotation and remove magic `main` * Related refactoring, cleanup and docs
48 lines
2.4 KiB
TypeScript
48 lines
2.4 KiB
TypeScript
declare module ASModule {
|
|
type i8 = number;
|
|
type i16 = number;
|
|
type i32 = number;
|
|
type u8 = number;
|
|
type u16 = number;
|
|
type u32 = number;
|
|
type f32 = number;
|
|
type f64 = number;
|
|
type bool = any;
|
|
const NaN: f64;
|
|
const Infinity: f64;
|
|
var lo: u32;
|
|
var hi: u32;
|
|
function getLo(): u32;
|
|
function getHi(): u32;
|
|
function clz(loLeft: u32, hiLeft: u32): void;
|
|
function ctz(loLeft: u32, hiLeft: u32): void;
|
|
function popcnt(loLeft: u32, hiLeft: u32): void;
|
|
function eqz(loLeft: u32, hiLeft: u32): void;
|
|
function add(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function sub(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function mul(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function div_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function div_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function rem_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function rem_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function and(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function or(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function xor(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function shl(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function shr_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function shr_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function rotl(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function rotr(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function eq(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function ne(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function lt_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function lt_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function le_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function le_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function gt_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function gt_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function ge_s(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
function ge_u(loLeft: u32, hiLeft: u32, loRight: u32, hiRight: u32): void;
|
|
}
|
|
export default ASModule;
|