FAUST compiler  0.9.9.6b8
propagate.hh
Go to the documentation of this file.
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 _PROPAGATE_
00025 #define _PROPAGATE_
00026 
00027 #include <vector>
00028 #include "boxes.hh"
00029 #include "signals.hh"
00030 
00032 
00038 
00039 using namespace std;
00040 
00041 typedef vector<Tree> siglist;
00042 
00043 siglist makeSigInputList (int n);
00044 Tree boxPropagateSig (Tree path, Tree box, const siglist& lsig);
00045 
00046 //bool getSigListNickName (Tree t, Tree& id);
00047 //void setSigListNickName (const siglist&  lsig, const string& nickname);
00048 
00049 
00050 //siglist makeSigProjList (Tree t, int n);
00051 //siglist lrepeat(int n, const siglist& l);
00052 //siglist lmerge(int nbelems, int nblignes, Tree src);
00053 
00054 
00055 /*
00056     exemple :
00057     Pour calculer 'lsig' la liste des signaux de sortie d'une boite 'box' 
00058     ‡ n entrÈes on utilisera :
00059         lsig =  boxPropagateSig(box, makeSigInputList(n));
00060 */
00061 #endif