module CsoundExpr.Base.Imperative (
outList,
ar,
kr,
ir,
gar,
gkr,
gir,
Assign(..))
where
import CsoundExpr.Translator.Types
import CsoundExpr.Translator.Cs.IM
import CsoundExpr.Translator.Cs.CsTree
import CsoundExpr.Translator.ExprTree.ExprTree
ar :: Name -> Arate
ar = argIn A
kr :: Name -> Krate
kr = argIn K
ir :: Name -> Irate
ir = argIn I
gar :: Name -> Arate
gar = argIn GA
gkr :: Name -> Krate
gkr = argIn GK
gir :: Name -> Irate
gir = argIn GI
fromArgIn :: (IM CsTree a) => a -> (Rate, Name)
fromArgIn a
| isArg e = (argRate e, argName e)
| otherwise =
error "left hand side of <=> should be named expression"
where e = exprOp $ exprTreeTag t
t = to a :: CsTree
infixr 0 <=>
class Assign a where
(<=>) :: a -> a -> SignalOut
instance Assign Arate where
sig <=> expr
= let (rate, name) = fromArgIn sig in
SignalOut $ return $ argOut rate name expr
instance Assign Krate where
sig <=> expr
= let (rate, name) = fromArgIn sig in
SignalOut $ return $ argOut rate name expr
instance Assign Irate where
sig <=> expr
= let (rate, name) = fromArgIn sig in
SignalOut $ return $ argOut rate name expr
instance (Assign a) => Assign [a] where
sigs <=> exprs = outList $ zipWith (<=>) sigs exprs
instance (Assign a0, Assign a1) => Assign (a0, a1) where
(sig0, sig1) <=> (exprs0, exprs1)
= outList [sig0 <=> exprs0, sig1 <=> exprs1]
instance (Assign a0, Assign a1, Assign a2) => Assign (a0, a1, a2)
where
(sig0, sig1, sig2) <=> (exprs0, exprs1, exprs2)
= outList [sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2]
instance (Assign a0, Assign a1, Assign a2, Assign a3) => Assign
(a0, a1, a2, a3) where
(sig0, sig1, sig2, sig3) <=> (exprs0, exprs1, exprs2, exprs3)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4) =>
Assign (a0, a1, a2, a3, a4) where
(sig0, sig1, sig2, sig3, sig4) <=>
(exprs0, exprs1, exprs2, exprs3, exprs4)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5) =>
Assign (a0, a1, a2, a3, a4, a5) where
(sig0, sig1, sig2, sig3, sig4, sig5) <=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6) =>
Assign (a0, a1, a2, a3, a4, a5, a6) where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6) <=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7) =>
Assign (a0, a1, a2, a3, a4, a5, a6, a7) where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7) <=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8) =>
Assign (a0, a1, a2, a3, a4, a5, a6, a7, a8) where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8) <=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9) =>
Assign (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9) <=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9,
Assign a10) =>
Assign (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11) =>
Assign (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12) =>
Assign (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13) =>
Assign (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23, Assign a24) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23, sig24)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23, exprs24)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23, sig24 <=> exprs24]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23, Assign a24, Assign a25) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23, sig24, sig25)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23, exprs24, exprs25)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23, sig24 <=> exprs24,
sig25 <=> exprs25]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23, Assign a24, Assign a25,
Assign a26) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23, sig24, sig25, sig26)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23, exprs24, exprs25, exprs26)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23, sig24 <=> exprs24,
sig25 <=> exprs25, sig26 <=> exprs26]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23, Assign a24, Assign a25,
Assign a26, Assign a27) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23, sig24, sig25, sig26, sig27)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23, exprs24, exprs25, exprs26, exprs27)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23, sig24 <=> exprs24,
sig25 <=> exprs25, sig26 <=> exprs26, sig27 <=> exprs27]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23, Assign a24, Assign a25,
Assign a26, Assign a27, Assign a28) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23, sig24, sig25, sig26, sig27, sig28)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23, exprs24, exprs25, exprs26, exprs27, exprs28)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23, sig24 <=> exprs24,
sig25 <=> exprs25, sig26 <=> exprs26, sig27 <=> exprs27,
sig28 <=> exprs28]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23, Assign a24, Assign a25,
Assign a26, Assign a27, Assign a28, Assign a29) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28, a29)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23, sig24, sig25, sig26, sig27, sig28,
sig29)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23, exprs24, exprs25, exprs26, exprs27, exprs28,
exprs29)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23, sig24 <=> exprs24,
sig25 <=> exprs25, sig26 <=> exprs26, sig27 <=> exprs27,
sig28 <=> exprs28, sig29 <=> exprs29]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23, Assign a24, Assign a25,
Assign a26, Assign a27, Assign a28, Assign a29, Assign a30) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28, a29, a30)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23, sig24, sig25, sig26, sig27, sig28,
sig29, sig30)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23, exprs24, exprs25, exprs26, exprs27, exprs28,
exprs29, exprs30)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23, sig24 <=> exprs24,
sig25 <=> exprs25, sig26 <=> exprs26, sig27 <=> exprs27,
sig28 <=> exprs28, sig29 <=> exprs29, sig30 <=> exprs30]
instance (Assign a0, Assign a1, Assign a2, Assign a3, Assign a4,
Assign a5, Assign a6, Assign a7, Assign a8, Assign a9, Assign a10,
Assign a11, Assign a12, Assign a13, Assign a14, Assign a15,
Assign a16, Assign a17, Assign a18, Assign a19, Assign a20,
Assign a21, Assign a22, Assign a23, Assign a24, Assign a25,
Assign a26, Assign a27, Assign a28, Assign a29, Assign a30,
Assign a31) =>
Assign
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28, a29, a30, a31)
where
(sig0, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8, sig9, sig10,
sig11, sig12, sig13, sig14, sig15, sig16, sig17, sig18, sig19,
sig20, sig21, sig22, sig23, sig24, sig25, sig26, sig27, sig28,
sig29, sig30, sig31)
<=>
(exprs0, exprs1, exprs2, exprs3, exprs4, exprs5, exprs6, exprs7,
exprs8, exprs9, exprs10, exprs11, exprs12, exprs13, exprs14,
exprs15, exprs16, exprs17, exprs18, exprs19, exprs20, exprs21,
exprs22, exprs23, exprs24, exprs25, exprs26, exprs27, exprs28,
exprs29, exprs30, exprs31)
= outList
[sig0 <=> exprs0, sig1 <=> exprs1, sig2 <=> exprs2,
sig3 <=> exprs3, sig4 <=> exprs4, sig5 <=> exprs5, sig6 <=> exprs6,
sig7 <=> exprs7, sig8 <=> exprs8, sig9 <=> exprs9,
sig10 <=> exprs10, sig11 <=> exprs11, sig12 <=> exprs12,
sig13 <=> exprs13, sig14 <=> exprs14, sig15 <=> exprs15,
sig16 <=> exprs16, sig17 <=> exprs17, sig18 <=> exprs18,
sig19 <=> exprs19, sig20 <=> exprs20, sig21 <=> exprs21,
sig22 <=> exprs22, sig23 <=> exprs23, sig24 <=> exprs24,
sig25 <=> exprs25, sig26 <=> exprs26, sig27 <=> exprs27,
sig28 <=> exprs28, sig29 <=> exprs29, sig30 <=> exprs30,
sig31 <=> exprs31]