00001 /************************************************************************ 00002 ************************************************************************ 00003 FAUST compiler 00004 Copyright (C) 2003-2004 GRAME, Centre National de Creation Musicale 00005 --------------------------------------------------------------------- 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 ************************************************************************ 00020 ************************************************************************/ 00021 00022 00023 00024 #ifndef _COMPILE_SCHED_ 00025 #define _COMPILE_SCHED_ 00026 00027 #include "compile_vect.hh" 00028 #include "loop.hh" 00029 00030 00032 00035 00036 00037 class SchedulerCompiler : public VectorCompiler 00038 { 00039 00040 public: 00041 00042 SchedulerCompiler (const string& name, const string& super, int numInputs, int numOutputs) 00043 : VectorCompiler(name,super,numInputs,numOutputs) 00044 {} 00045 00046 SchedulerCompiler (Klass* k) : VectorCompiler(k) 00047 {} 00048 virtual void compileMultiSignal (Tree L); 00049 00050 protected: 00051 00052 virtual void vectorLoop (const string& tname, const string& dlname, const string& cexp); 00053 virtual void dlineLoop ( const string& tname, const string& dlname, int delay, const string& cexp); 00054 00055 00056 }; 00057 00058 00059 #endif