/*************************************************************************** * 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. */ int ind; struct Reg *dir; } Reg; typedef struct Arv { struct Arv *esq; double fval; /* Valor da funcão no ponto. */ struct Arv *pai; int ind; struct Arv *dir; } Arv; /** 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 calcula a interpolacao quadratica no filho de uma celula */ typedef double Interp_quad( double x1, double x2, double x3); /** * Tipo de funcao que calcula a quadratura gaussiana (regra de 20 pontos) num certo dominio */ typedef double Quadratura(double xmin, double xmax, double ymin, double ymax, Funcao *f); #endif