MCPcopy Create free account
hub / github.com/WasmEdge/WasmEdge / handle_directive

Function handle_directive

examples/js/repl.js:1091–1182  ·  view source on GitHub ↗
(cmd, expr)

Source from the content-addressed store, hash-verified

1089
1090 /* return true if the string after cmd can be evaluated as JS */
1091 function handle_directive(cmd, expr) {
1092 var param, prec1, expBits1;
1093
1094 if (cmd === "h" || cmd === "?" || cmd == "help") {
1095 help();
1096 } else if (cmd === "load") {
1097 var filename = expr.substring(cmd.length + 1).trim();
1098 if (filename.lastIndexOf(".") <= filename.lastIndexOf("/"))
1099 filename += ".js";
1100 std.loadScript(filename);
1101 return false;
1102 } else if (cmd === "x") {
1103 hex_mode = true;
1104 } else if (cmd === "d") {
1105 hex_mode = false;
1106 } else if (cmd === "t") {
1107 show_time = !show_time;
1108 } else if (has_bignum && cmd === "p") {
1109 param = expr.substring(cmd.length + 1).trim().split(" ");
1110 if (param.length === 1 && param[0] === "") {
1111 std.puts("BigFloat precision=" + prec + " bits (~" +
1112 Math.floor(prec / log2_10) +
1113 " digits), exponent size=" + expBits + " bits\n");
1114 } else if (param[0] === "f16") {
1115 prec = 11;
1116 expBits = 5;
1117 } else if (param[0] === "f32") {
1118 prec = 24;
1119 expBits = 8;
1120 } else if (param[0] === "f64") {
1121 prec = 53;
1122 expBits = 11;
1123 } else if (param[0] === "f128") {
1124 prec = 113;
1125 expBits = 15;
1126 } else {
1127 prec1 = parseInt(param[0]);
1128 if (param.length >= 2)
1129 expBits1 = parseInt(param[1]);
1130 else
1131 expBits1 = BigFloatEnv.expBitsMax;
1132 if (Number.isNaN(prec1) ||
1133 prec1 < BigFloatEnv.precMin ||
1134 prec1 > BigFloatEnv.precMax) {
1135 std.puts("Invalid precision\n");
1136 return false;
1137 }
1138 if (Number.isNaN(expBits1) ||
1139 expBits1 < BigFloatEnv.expBitsMin ||
1140 expBits1 > BigFloatEnv.expBitsMax) {
1141 std.puts("Invalid exponent bits\n");
1142 return false;
1143 }
1144 prec = prec1;
1145 expBits = expBits1;
1146 }
1147 return false;
1148 } else if (has_bignum && cmd === "digits") {

Callers 1

handle_cmdFunction · 0.85

Calls 2

helpFunction · 0.85
trimMethod · 0.80

Tested by

no test coverage detected