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

Method cleanNumericVal

lib/executor/helper.cpp:485–517  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

483}
484
485void Executor::cleanNumericVal(ValVariant &Val,
486 const ValType &Type) const noexcept {
487 if (Type.isNumType()) {
488 switch (Type.getCode()) {
489 case TypeCode::I32: {
490 uint32_t V = Val.get<uint32_t>();
491 Val.emplace<uint128_t>(static_cast<uint128_t>(0U));
492 Val.emplace<uint32_t>(V);
493 break;
494 }
495 case TypeCode::F32: {
496 float V = Val.get<float>();
497 Val.emplace<uint128_t>(static_cast<uint128_t>(0U));
498 Val.emplace<float>(V);
499 break;
500 }
501 case TypeCode::I64: {
502 uint64_t V = Val.get<uint64_t>();
503 Val.emplace<uint128_t>(static_cast<uint128_t>(0U));
504 Val.emplace<uint64_t>(V);
505 break;
506 }
507 case TypeCode::F64: {
508 double V = Val.get<double>();
509 Val.emplace<uint128_t>(static_cast<uint128_t>(0U));
510 Val.emplace<double>(V);
511 break;
512 }
513 default:
514 break;
515 }
516 }
517}
518
519ValVariant Executor::packVal(const ValType &Type,
520 const ValVariant &Val) const noexcept {

Callers

nothing calls this directly

Calls 2

isNumTypeMethod · 0.80
getCodeMethod · 0.45

Tested by

no test coverage detected