projects
/
matthijs
/
master-project
/
dsd-paper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reduce code-size of higher-order cpu
[matthijs/master-project/dsd-paper.git]
/
cλash.lhs
diff --git
a/cλash.lhs
b/cλash.lhs
index e02b16d567e3d348d8c258c8db0386128778d517..3bcf41e75f41e3a0d507925cf1b78ea005e7b251 100644
(file)
--- a/
cλash.lhs
+++ b/
cλash.lhs
@@
-1192,11
+1192,6
@@
the vectors of the \acro{FIR} code to a length of 4, is depicted in
\subsection{Higher order CPU}
\begin{code}
\subsection{Higher order CPU}
\begin{code}
-fu :: (a -> a -> a)
- -> [a | n]
- -> (Index (n - 1), Index (n - 1))
- -> a
- -> (a, a)
fu op inputs (addr1, addr2) (State out) =
(State out', out)
where
fu op inputs (addr1, addr2) (State out) =
(State out', out)
where
@@
-1206,12
+1201,8
@@
fu op inputs (addr1, addr2) (State out) =
\end{code}
\begin{code}
\end{code}
\begin{code}
-type CpuState = State [Word | 4]
-
-cpu :: Word
- -> [(Index 6, Index 6) | 4]
- -> CpuState
- -> (CpuState, Word)
+cpu :: Word -> [(Index 6, Index 6) | 4]
+ -> State [Word | 4] -> (State [Word | 4], Word)
cpu input addrs (State fuss) = (State fuss', out)
where
fures = [ fu const inputs (addrs!0) (fuss!0)
cpu input addrs (State fuss) = (State fuss', out)
where
fures = [ fu const inputs (addrs!0) (fuss!0)