module variaveis

! Objetivo: definir as variáveis a serem usadas no programa

use PORTLIB	! biblioteca do Fortran

!-------------------------------------------------------------------------------

implicit none

! *** Variáveis principais ***

integer :: N       ! número de pontos nodais
                

integer :: P       ! número do nó imediatamente anterior aó ponto a ser interpolado
                   
                                    
integer :: i,j     ! contadores auxiliares    

real*16  :: h      ! distância entre dois nós consecutivos

! *** Variáveis de interesse ***

real*16 :: Y1, Y2, Y3, Y4, Y5, Y6, Y8, Y10  ! valor interpolado (variável dependente) com ordem Pp
real*16 :: X_int, k_f, aux                            ! coordenada do valor interpolado (variável independente)

real*16 :: a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11 !coeficientes do polinômio interpolador

real*16 :: d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11 !diferenças divididas de Newton

real*16 :: x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11 !var. auxiliar para diferenças divididas de Newton


! *** Variável de campo (vetores com dimensão (1:N)) - pontos nodais***

real*16,dimension(:),allocatable :: X ! coordenadas dos pontos nodais
real*16,dimension(:),allocatable :: Y ! coordenadas dos pontos nodais

! *** váriaveis auxiliares ***

real*16,dimension(:),allocatable   :: YY ! auxiliar para o cálculo das DDN
real*16,dimension(:,:),allocatable :: ff ! auxiliar para o cálculo das DDN

integer, parameter :: in   =  1 ! número do arquivo de entrada (dados)
integer, parameter :: out  =  2 ! número do arquivo de saída principal - Richardson

character*50  :: titulo, arq_dados      ! nome do arquivo de saída
character*90  :: note_caso ! notepad + caso
logical       :: dos       ! acessa prompt dos

real*16  :: cpu  ! tempo de processamento (s)

end