X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpreter/preprocessor/faust-0.9.47mr3/compiler/headers/loopDetector.hh diff --git a/interpreter/preprocessor/faust-0.9.47mr3/compiler/headers/loopDetector.hh b/interpreter/preprocessor/faust-0.9.47mr3/compiler/headers/loopDetector.hh new file mode 100644 index 0000000..df0bd4a --- /dev/null +++ b/interpreter/preprocessor/faust-0.9.47mr3/compiler/headers/loopDetector.hh @@ -0,0 +1,56 @@ + +/************************************************************************ + ************************************************************************ + FAUST compiler + Copyright (C) 2003-2004 GRAME, Centre National de Creation Musicale + --------------------------------------------------------------------- + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + ************************************************************************ + ************************************************************************/ + +#ifndef __LOOPDETECTOR__ +#define __LOOPDETECTOR__ + + + +/** + * \file loopDetector.hh + * + * Detect evaluation loops + * + * + **/ + + + +#include "boxes.hh" +#include "sourcereader.hh" + +class loopDetector +{ + const int fBuffersize; + const int fCheckperiod; + vector fBuffer; + int fPhase; + + public: + loopDetector(int buffersize, int checkperiod) : fBuffersize(buffersize), fCheckperiod(checkperiod), fBuffer(buffersize), fPhase(0) {} + bool detect (Tree t); + +}; + + +#endif +