Make functions in `numeric.md` total `functional`
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- リファクタリング
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- wasm
- 領域
- compilers
調査の方向性
numeric.md から始め、列挙されている演算子定義と、#minWidth、#ctz、#popcnt、#round、#signed、#unsigned、#isInfinityOrNan、truncFloat などのヘルパー関数を確認します。次に domains.k の sqrtFloat を調べ、機能するようにできるか、または sqrt の未サポートのケースを明示的に処理する必要があるかを判断します。完了の条件は、演算子が #Ceil のサイド条件を生成しなくなることです。
索引モデルが issue の本文から書いたものです。
説明
Right now there are #Ceil side-condition generated by the backend for the operators defined in numeric.md:
syntax Val ::= IValType "." IUnOp Int [klabel(intUnOp) , function]
| FValType "." FUnOp Float [klabel(floatUnOp), function]
// ---------------------------------------------------------------------
syntax Val ::= IValType "." IBinOp Int Int [klabel(intBinOp) , function]
| FValType "." FBinOp Float Float [klabel(floatBinOp), function]
// -----------------------------------------------------------------------------
syntax Val ::= IValType "." TestOp Int [klabel(intTestOp), function]
// --------------------------------------------------------------------
syntax Val ::= IValType "." IRelOp Int Int [klabel(intRelOp) , function]
| FValType "." FRelOp Float Float [klabel(floatRelOp), function]
// -----------------------------------------------------------------------------
syntax Val ::= AValType "." CvtOp Number [klabel(numberCvtOp), function]
// ------------------------------------------------------------------------
I'm pretty sure these all can be made functional, with the appropriate changes to the helper functions they use.
For example:
- The functions
#minWidth,#ctz,#popcnt,#round,#signed,#unsigned,#isInfinityOrNan, andtruncFloatneed to be made total. rule FTYPE . sqrt => ...needs to either have (i)sqrtFloatbe madefunctionalindomains.k, or (ii) explicitely handle the cases thatsqrtFloatdoes not.
- 主要言語
- WebAssembly
- スター
- 106
- フォーク
- 24
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
runtimeverification/wasm-semantics のほかの issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 55/100
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
runtimeverification/wasm-semantics の issue をすべて見る
似ている issue
-
backend:DirectX
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
llvm/llvm-project#227530 ·
メンテナーはふだん 1 日以内に返信
-
`enzymexla.linalg.lu` lowering fails for a tall matrix: the permutation is built with the pivot typeオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
EnzymeAD/Enzyme-JAX#3286 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
objectionary/phino#1600 ·
メンテナーはふだん 1 日以内に返信
-
compiler enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
tenstorrent/tt-lang#1141 ·
メンテナーはふだん 5 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信