X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpreter/preprocessor/faust-0.9.47mr3/compiler/signals/sigraterules.hh diff --git a/interpreter/preprocessor/faust-0.9.47mr3/compiler/signals/sigraterules.hh b/interpreter/preprocessor/faust-0.9.47mr3/compiler/signals/sigraterules.hh new file mode 100644 index 0000000..c7e955b --- /dev/null +++ b/interpreter/preprocessor/faust-0.9.47mr3/compiler/signals/sigraterules.hh @@ -0,0 +1,23 @@ +#ifndef SIGRATERULES_HH +#define SIGRATERULES_HH + +#include +#include "tlib.hh" +#include "property.hh" + + +class RateInferrer +{ + bool fSuccess; ///< true when rates can be correctly inferred + Tree fFullList; ///< list of signals + list recursive signals inside + Tree fRateEnv; ///< list of signals + list recursive signals inside + property fRateProperty; ///< property used to store the rate of signals + + int computeRate(Tree sig); +public: + RateInferrer(Tree lsig); ///< list of signals we want to inferre the rates + int rate(Tree sig); ///< returns the rate of sig assuming that sig is a subexpression of lsig + +}; + +#endif // SIGRATERULES_HH