Sat Feb 20 14:56:57 CET 2010
Operations on polynomials
Intuitively it seems that SSA/ANF also has a nice effect on converting
networks involving delays to unit delays. Let's make this precise.
Once an ANF form is obtained from a graph expression, all Z operators
can be replaced by state lookups.
Essentially, whenever this form occurs:
r1 <- (z r0)
We can save r0 in the state memory to be used on the next stream tick,
and recover the previously saved version in r1.
For the implementation, since the delayed value will not be accessed
any more after it is read, the mutation can be done in-place, or:
r1 <- zr0 -- delayed version
zr0 <- r0 -- save for next iteration
Also see staapl logs for this. That code will collect powers of z
such that delay lines / offsets can be used.