Annotate a signal expression with recursivness information. More...
#include <assert.h>#include <stdio.h>#include <stdlib.h>#include <limits.h>#include "recursivness.hh"
Go to the source code of this file.
Functions | |
| void | recursivnessAnnotation (Tree sig) |
| Annotate a signal with recursivness. | |
| int | getRecursivness (Tree sig) |
| Return the recursivness of a previously annotated signal. | |
Annotate a signal expression with recursivness information.
Recursiveness indicates the amount of recursive dependencies of a signal. A closed signal has a recursivness of 0 because is has no recursive dependencies. This means that the succesive samples of this signal can be computed in parallel. In a signal of type .(...F(x)...), F(x) has a recursivness of 1. In a signal of type .(... .(...F(x)...G(y)...)...) F(x) has a recursivness of 2 while G(y) has a recursivness of 1.
Definition in file recursivness.cpp.
| int getRecursivness | ( | Tree | sig | ) |
Return the recursivness of a previously annotated signal.
An error is generated if the signal has no recursivness property
| sig | signal |
Definition at line 64 of file recursivness.cpp.
00065 { 00066 Tree tr; 00067 if ( ! getProperty(sig, RECURSIVNESS, tr)) { 00068 cerr << "Error in getRecursivness of " << *sig << endl; 00069 exit(1); 00070 } 00071 return tree2int(tr); 00072 }
| void recursivnessAnnotation | ( | Tree | sig | ) |
Annotate a signal with recursivness.
Should be used before calling getRecursivness
| sig | signal to annotate |
Definition at line 51 of file recursivness.cpp.
1.6.1