test_pfcoef.F90

Path: PartialFractionClass/test_pfcoef.F90
Last Update: Wed Jan 18 16:14:51 +0900 2012
dot/f_2.png

Required files

Methods

Included Modules

pfcoef_class

Public Instance methods

Main Program :

[Source]

program test_pfcoef
  use pfcoef_class
  implicit none
  type(partial_fraction_coef) :: pfcoef
  integer :: itype,np,nsp,i
  real(8) :: a,b
  real(8) :: x,f,p,dx

  nsp = 1000

  itype=+1
  np= 10
  a = 0.01d0
  b = 2.00d0
  call new(pfcoef,itype,np,a,b)

  write(*,'("# NPOW=",I3)')pfcoef%npow
  write(*,'("# [a,b]=",2E24.15)')pfcoef%a,pfcoef%b
  write(*,'("# MINMAXERROR=",E24.15)')pfcoef%minimaxerror
  write(*,'("# ALP,BET=",E24.15)')pfcoef%alp(0)
  do i=1,np
    write(*,'("# ALP,BET=",2E24.15)')pfcoef%alp(i),pfcoef%bet(i)
  enddo

  !
  ! print approximation residual partial fraction form and rational form
  !
  write(*,'("#        x               R(x)              PF(x)")')
  dx=(log(b)-log(a))/nsp
  do i=0,nsp
     x = a * EXP(dx)**i
     f = get_value(pfcoef,x)
     p = sqrt(x)
    write(*,'(9E28.15E4)')x,f,p,(f-p)/f
  enddo

  call delete(pfcoef)
 
  stop
end program