Página principal   Lista de namespaces   Hierarquia de classes   Lista de componentes   Lista de ficheiros   Componentes   Declarações  

funcao.C

Ir para a documentação deste ficheiro.
00001 #include "funcao.H"
00002 
00003 #include "formula.H"
00004 #include "erros.H"
00005 
00006 #include <Extra/string.H>
00007 
00008 using namespace std;
00009 
00010 double Calculo::Funcao::operator()(MapaDeConstantes const& constantes,
00011                                    MapaDeFuncoes const& funcoes,
00012                                    vector<double> const& argumentos) const
00013 {
00014     if(argumentos.size() != parametros.size())
00015         throw ErroDeCalculo(string("número inválido de argumentos (é ") +
00016                             argumentos.size() + " e devia ser " + 
00017                             parametros.size() + ')');
00018 
00019     map<string, double> constantes_com_locais = constantes;
00020     for(vector<string>::size_type i = 0; i != parametros.size(); ++i)
00021         constantes_com_locais[parametros[i]] = argumentos[i];
00022 
00023     return formula.valor(constantes_com_locais, funcoes);
00024 }

Gerado em Mon Apr 15 15:57:08 2002 para Calculo por doxygen1.2.6 escrito por Dimitri van Heesch, © 1997-2001