/*************************************************************************** * Copyright (C) 2008 by Douglas Castro,,, * * douglas@douglas-laptop * * * ***************************************************************************/ #ifndef DEFINICOES_H #define DEFINICOES_H #include #include #include typedef struct Reg { struct Reg *esq; double fval; /* Valor da funcão no ponto. */ // double det; /* no futuro armazenara o detalhe da analise multiresolucao*/ struct Reg *dir; } Reg; /** Se p!=NULL o valor fv e definido pela arvore, caso contrario e interpolado */ typedef struct VReg { Reg *p; double fv; } VReg; /** * Tipo de uma funcao a ser aproximada. */ typedef double Funcao(double x, double y); // /** // * Tipo de uma funcao que interpola uma funcao em {x}, dados quatro pontos do gr�fico. // */ // typedef double Interpolador(double x0, double fx0, double x1, double fx1, double x2, double fx2, double x3, double fx3, double x); /** * Tipo de funcao que, dadas as medias em cada celula de um grupo de 3 celulas adjacentes de mesmo nivel, * preve a media no filho {esq} (esquerdo/inferior) da celula central * @param x0 [in] media na celula inferior/esquerda do grupo * @param x1 [in] media na celula do meio * @param x2 [in] media na celula superior/direita */ typedef double Preditor( double x0, double x1, double x2 ); /** * Tipo de funcao que calcula a quadratura gaussiana (regra de 5 pontos) num certo dominio */ typedef double Quadratura(double xmin, double xmax, double ymin, double ymax, Funcao *f); #endif