diff options
Diffstat (limited to 'src/Example.hs')
-rw-r--r-- | src/Example.hs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Example.hs b/src/Example.hs index 572d67e..86264e1 100644 --- a/src/Example.hs +++ b/src/Example.hs @@ -107,3 +107,18 @@ ex5 = (bin (OMul STF32) (EVar ext (STScal STF32) IZ) (bin (OAdd STF32) (EVar ext (STScal STF32) (IS IZ)) (EConst ext STF32 1.0))) + +senv6 :: SList STy [TScal TI64, TScal TF32] +senv6 = STScal STI64 `SCons` STScal STF32 `SCons` SNil + +descr6 :: Descr [TScal TI64, TScal TF32] ["merge", "merge"] +descr6 = DTop `DPush` (STScal STF32, SMerge) `DPush` (STScal STI64, SMerge) + +ex6 :: Ex [TScal TI64, TScal TF32] (TScal TF32) +ex6 = + ELet ext (EUnit ext (EVar ext (STScal STF32) (IS IZ))) $ + ELet ext (EBuild1 ext (EVar ext tIx (IS IZ)) $ + ELet ext (EIdx0 ext (EVar ext (STArr SZ (STScal STF32)) (IS IZ))) $ + bin (OMul STF32) (EVar ext (STScal STF32) IZ) + (EVar ext (STScal STF32) IZ)) $ + (EIdx0 ext (EIdx1 ext (EVar ext (STArr (SS SZ) (STScal STF32)) IZ) (EConst ext STI64 3))) |