diff options
author | Son Ho | 2023-12-14 17:11:54 +0100 |
---|---|---|
committer | Son Ho | 2023-12-14 17:11:54 +0100 |
commit | f074320eee2203857e669cfb72f7f8f94ab52151 (patch) | |
tree | d5f2f8d4a45f206e0a94e980ea4c6ad074f2bc19 /backends/lean | |
parent | f69ac6a4a244c99a41a90ed57f74ea83b3835882 (diff) | |
parent | c3e0b90e422cbd902ee6d2b47073940c0017b7fb (diff) |
Merge remote-tracking branch 'origin/main' into son/merge_back
Diffstat (limited to 'backends/lean')
-rw-r--r-- | backends/lean/Base/Primitives/Scalar.lean | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/backends/lean/Base/Primitives/Scalar.lean b/backends/lean/Base/Primitives/Scalar.lean index db522df2..a8eda6d5 100644 --- a/backends/lean/Base/Primitives/Scalar.lean +++ b/backends/lean/Base/Primitives/Scalar.lean @@ -411,6 +411,10 @@ def Scalar.or {ty : ScalarTy} (x : Scalar ty) (y : Scalar ty) : Scalar ty := def Scalar.cast {src_ty : ScalarTy} (tgt_ty : ScalarTy) (x : Scalar src_ty) : Result (Scalar tgt_ty) := Scalar.tryMk tgt_ty x.val +-- This can't fail, but for now we make all casts faillible (easier for the translation) +def Scalar.cast_bool (tgt_ty : ScalarTy) (x : Bool) : Result (Scalar tgt_ty) := + Scalar.tryMk tgt_ty (if x then 1 else 0) + -- The scalar types -- We declare the definitions as reducible so that Lean can unfold them (useful -- for type class resolution for instance). |