复制代码代码如下:
función mimódulo(global, externo, buffer) {
"usar conjunto";
// ------------------------------------------------ -------------------------
// SECCIÓN 1: importaciones
var H32 = nuevo global.Int32Array(búfer);
var HU32 = nuevo global.Uint32Array(búfer);
var log = extranjero.consoleDotLog;
// ------------------------------------------------ -------------------------
// SECCIÓN 2: funciones
función f(x, y, z, w) {
// SECCIÓN A: declaraciones de tipo de parámetro
x = x|0; // parámetro int
y = +y; // doble parámetro
// SECCIÓN B: cuerpo de la función
iniciar sesión(x|0); // llamar a FFI - debe forzar la señal
pesado); // llamar a FFI - ya sé que es un doble
x = (x+3)|0; // adición firmada
// SECCIÓN C: devolución incondicional
return ((((x+1)|0)>>>0)/(x|0))>>>0; // expresión compuesta
}
función g() {
g_f = +g_i; // leer/escribir globales
devolver;
}
función g2() {
devolver;
}
función h(yo, x) {
yo = yo|0;
x = x|0;
H32[(i&0xffffffff)>>4] = x; // enmascarado por 2^k-1, desplazado por el conteo de bytes
ftable_2[(x-2)&2](); // llamada dinámica de funciones en la tabla 2
}
// ------------------------------------------------ -------------------------
// SECCIÓN 3: tablas de funciones
var ftable_1 = [f];
var ftable_2 = [g, g2]; // todos del mismo tipo
// ------------------------------------------------ -------------------------
// SECCIÓN 4: globales
var g_i = 0; //intglobal
var g_f = 0,0; // doble global
// ------------------------------------------------ -------------------------
// SECCIÓN 5: exportaciones
return {f_export: f, goop: g};
}