mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 02:12:11 +00:00
238 lines
8.1 KiB
JavaScript
238 lines
8.1 KiB
JavaScript
/* Generated by the Nim Compiler v2.1.1 */
|
|
var framePtr = null;
|
|
var excHandler = 0;
|
|
var lastJSError = null;
|
|
|
|
function toJSStr(s_33556886) {
|
|
var result_33556887 = null;
|
|
|
|
var res_33556928 = newSeq_33556904((s_33556886).length);
|
|
var i_33556929 = 0;
|
|
var j_33556930 = 0;
|
|
Label1: {
|
|
Label2: while (true) {
|
|
if (!(i_33556929 < (s_33556886).length)) break Label2;
|
|
var c_33556931 = s_33556886[i_33556929];
|
|
if ((c_33556931 < 128)) {
|
|
res_33556928[j_33556930] = String.fromCharCode(c_33556931);
|
|
i_33556929 += 1;
|
|
}
|
|
else {
|
|
var helper_33556943 = newSeq_33556904(0);
|
|
Label3: {
|
|
Label4: while (true) {
|
|
if (!true) break Label4;
|
|
var code_33556944 = c_33556931.toString(16);
|
|
if ((((code_33556944) == null ? 0 : (code_33556944).length) == 1)) {
|
|
helper_33556943.push("%0");;
|
|
}
|
|
else {
|
|
helper_33556943.push("%");;
|
|
}
|
|
|
|
helper_33556943.push(code_33556944);;
|
|
i_33556929 += 1;
|
|
if ((((s_33556886).length <= i_33556929) || (s_33556886[i_33556929] < 128))) {
|
|
break Label3;
|
|
}
|
|
|
|
c_33556931 = s_33556886[i_33556929];
|
|
}
|
|
};
|
|
++excHandler;
|
|
try {
|
|
res_33556928[j_33556930] = decodeURIComponent(helper_33556943.join(""));
|
|
--excHandler;
|
|
} catch (EXCEPTION) {
|
|
var prevJSError = lastJSError;
|
|
lastJSError = EXCEPTION;
|
|
--excHandler;
|
|
res_33556928[j_33556930] = helper_33556943.join("");
|
|
lastJSError = prevJSError;
|
|
} finally {
|
|
}
|
|
}
|
|
|
|
j_33556930 += 1;
|
|
}
|
|
};
|
|
if (res_33556928.length < j_33556930) { for (var i = res_33556928.length ; i < j_33556930 ; ++i) res_33556928.push(null); }
|
|
else { res_33556928.length = j_33556930; };
|
|
result_33556887 = res_33556928.join("");
|
|
|
|
return result_33556887;
|
|
|
|
}
|
|
|
|
function rawEcho() {
|
|
var buf = "";
|
|
for (var i = 0; i < arguments.length; ++i) {
|
|
buf += toJSStr(arguments[i]);
|
|
}
|
|
console.log(buf);
|
|
|
|
|
|
|
|
}
|
|
var F = {procname: "module macros", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/core/macros.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module macros", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/core/macros.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module bitops_utils", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/std/private/bitops_utils.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module bitops_utils", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/std/private/bitops_utils.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module countbits_impl", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/system/countbits_impl.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module countbits_impl", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/system/countbits_impl.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module bitops", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/pure/bitops.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module bitops", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/pure/bitops.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module fenv", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/pure/fenv.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module fenv", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/pure/fenv.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module math", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/pure/math.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
var F = {procname: "module math", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/pure/math.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
|
|
function newSeq_33556904(len_33556906) {
|
|
var result_33556907 = [];
|
|
|
|
var F = {procname: "newSeq.newSeq", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/system.nim", line: 0};
|
|
framePtr = F;
|
|
F.line = 635;
|
|
F.filename = "system.nim";
|
|
result_33556907 = new Array(len_33556906); for (var i = 0 ; i < len_33556906 ; ++i) { result_33556907[i] = null; } framePtr = F.prev;
|
|
|
|
return result_33556907;
|
|
|
|
}
|
|
|
|
function add_33556361(x_33556362, x_33556362_Idx, y_33556363) {
|
|
if (x_33556362[x_33556362_Idx] === null) { x_33556362[x_33556362_Idx] = []; }
|
|
var off = x_33556362[x_33556362_Idx].length;
|
|
x_33556362[x_33556362_Idx].length += y_33556363.length;
|
|
for (var i = 0; i < y_33556363.length; ++i) {
|
|
x_33556362[x_33556362_Idx][off+i] = y_33556363.charCodeAt(i);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
function nimFloatToString_385876115(a_385876116) {
|
|
var result_385876117 = null;
|
|
|
|
var F = {procname: "formatfloat.nimFloatToString", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/std/formatfloat.nim", line: 0};
|
|
framePtr = F;
|
|
F.line = 106;
|
|
F.filename = "formatfloat.nim";
|
|
function nimOnlyDigitsOrMinus(n) {
|
|
return n.toString().match(/^-?\d+$/);
|
|
}
|
|
if (Number.isSafeInteger(a_385876116))
|
|
result_385876117 = a_385876116 === 0 && 1 / a_385876116 < 0 ? "-0.0" : a_385876116+".0"
|
|
else {
|
|
result_385876117 = a_385876116+""
|
|
if(nimOnlyDigitsOrMinus(result_385876117)){
|
|
result_385876117 = a_385876116+".0"
|
|
}
|
|
}
|
|
|
|
framePtr = F.prev;
|
|
|
|
return result_385876117;
|
|
|
|
}
|
|
|
|
function addFloat_33557532(result_33557534, result_33557534_Idx, x_33557535) {
|
|
var F = {procname: "addFloat.addFloat", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/std/formatfloat.nim", line: 0};
|
|
framePtr = F;
|
|
F.line = 136;
|
|
F.filename = "formatfloat.nim";
|
|
add_33556361(result_33557534, result_33557534_Idx, nimFloatToString_385876115(x_33557535));
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function HEX24_33557528(x_33557530) {
|
|
var result_33557531 = [[]];
|
|
|
|
var F = {procname: "$.$", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/system/dollars.nim", line: 0};
|
|
framePtr = F;
|
|
F.line = 14;
|
|
F.filename = "dollars.nim";
|
|
addFloat_33557532(result_33557531, 0, x_33557530);
|
|
framePtr = F.prev;
|
|
|
|
return result_33557531[0];
|
|
|
|
}
|
|
|
|
function HEX2DHEX3D_520093703(x_520093705, x_520093705_Idx, y_520093706) {
|
|
var F = {procname: "-=.-=", prev: framePtr, filename: "/home/wind/.choosenim/toolchains/nim-#devel/lib/system/arithmetics.nim", line: 0};
|
|
framePtr = F;
|
|
F.line = 335;
|
|
F.filename = "arithmetics.nim";
|
|
x_520093705[x_520093705_Idx] = (x_520093705[x_520093705_Idx] - y_520093706);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function round_520093699(x_520093701) {
|
|
var result_520093702 = [0.0];
|
|
|
|
if ((0.0 <= x_520093701)) {
|
|
result_520093702[0] = Math.round(x_520093701);
|
|
}
|
|
else {
|
|
result_520093702[0] = Math.ceil(x_520093701);
|
|
if ((0.5 <= (result_520093702[0] - x_520093701))) {
|
|
HEX2DHEX3D_520093703(result_520093702, 0, 1.0);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
return result_520093702[0];
|
|
|
|
}
|
|
|
|
function hello_520093698() {
|
|
var F = {procname: "test2.hello", prev: framePtr, filename: "/home/wind/prs/Nim/test2.nim", line: 0};
|
|
framePtr = F;
|
|
F.line = 4;
|
|
F.filename = "test2.nim";
|
|
rawEcho(HEX24_33557528(round_520093699(0.49999999999999994)));
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
var F = {procname: "module test2", prev: framePtr, filename: "/home/wind/prs/Nim/test2.nim", line: 0};
|
|
framePtr = F;
|
|
F.line = 7;
|
|
F.filename = "test2.nim";
|
|
hello_520093698();
|
|
framePtr = F.prev;
|
|
var F = {procname: "module test2", prev: framePtr, filename: "/home/wind/prs/Nim/test2.nim", line: 0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|