X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/preprocessor/faust-0.9.47mr3/compiler/signals/sigraterules.hh diff --git a/interpretor/preprocessor/faust-0.9.47mr3/compiler/signals/sigraterules.hh b/interpretor/preprocessor/faust-0.9.47mr3/compiler/signals/sigraterules.hh new file mode 100644 index 0000000..c7e955b --- /dev/null +++ b/interpretor/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