!     -*- f90 -*-
!     This file is autogenerated with f2py (version:1.20.3)
!     It contains Fortran 90 wrappers to fortran functions.

      subroutine f2pywrap_f90brownian_inv_errfcn (inv_errfcnf2pywrap, x)
      use f90brownian, only : inv_errfcn
      real x
      real inv_errfcnf2pywrap
      inv_errfcnf2pywrap = inv_errfcn(x)
      end subroutine f2pywrap_f90brownian_inv_errfcn
      subroutine f2pywrap_f90brownian_normaldistsampling (normaldistsamp&
     &lingf2pywrap)
      use f90brownian, only : normaldistsampling
      real normaldistsamplingf2pywrap
      normaldistsamplingf2pywrap = normaldistsampling()
      end subroutine f2pywrap_f90brownian_normaldistsampling
      subroutine f2pywrap_f90brownian_normal2ddistsampling (normal2ddist&
     &samplingf2pywrap, rho)
      use f90brownian, only : normal2ddistsampling
      real rho(2,2)
      real normal2ddistsamplingf2pywrap(2)
      normal2ddistsamplingf2pywrap = normal2ddistsampling(rho)
      end subroutine f2pywrap_f90brownian_normal2ddistsampling
      subroutine f2pywrap_f90brownian_lognormal_price_simulation (lognor&
     &mal_price_simulationf2pywrap, logs0, r, sigma, dt, nbsteps, nbsimu&
     &lations)
      use f90brownian, only : lognormal_price_simulation
      real logs0
      real r
      real sigma
      real dt
      integer nbsteps
      integer nbsimulations
      real lognormal_price_simulationf2pywrap(nbsimulations,nbsteps)
      lognormal_price_simulationf2pywrap = lognormal_price_simulation(lo&
     &gs0, r, sigma, dt, nbsteps, nbsimulations)
      end subroutine f2pywrap_f90brownian_lognormal_price_simulation
      subroutine f2pywrap_f90brownian_squareroot_diffusion_simulation (s&
     &quareroot_diffusion_simulationf2pywrap, x0, theta, kappa, sigma, d&
     &t, nbsteps, nbsimulations)
      use f90brownian, only : squareroot_diffusion_simulation
      real x0
      real theta
      real kappa
      real sigma
      real dt
      integer nbsteps
      integer nbsimulations
      real squareroot_diffusion_simulationf2pywrap(nbsimulations,nbsteps&
     &)
      squareroot_diffusion_simulationf2pywrap = squareroot_diffusion_sim&
     &ulation(x0, theta, kappa, sigma, dt, nbsteps, nbsimulations)
      end subroutine f2pywrap_f90brownian_squareroot_diffusion_simulatio&
     &n
      
      subroutine f2pyinitf90brownian(f2pysetupfunc)
      use f90brownian, only : symmatd2eigen
      use f90brownian, only : initialize_random_seeds
      use f90brownian, only : heston_price_simulation
      interface 
      subroutine f2pywrap_f90brownian_inv_errfcn (inv_errfcnf2pywrap, in&
     &v_errfcn, x)
      real inv_errfcn
      real x
      real inv_errfcnf2pywrap
      end subroutine f2pywrap_f90brownian_inv_errfcn 
      subroutine f2pywrap_f90brownian_normaldistsampling (normaldistsamp&
     &lingf2pywrap, normaldistsampling)
      real normaldistsampling
      real normaldistsamplingf2pywrap
      end subroutine f2pywrap_f90brownian_normaldistsampling 
      subroutine f2pywrap_f90brownian_normal2ddistsampling (normal2ddist&
     &samplingf2pywrap, normal2ddistsampling, rho)
      real rho(2,2)
      real normal2ddistsampling(2)
      real normal2ddistsamplingf2pywrap(2)
      end subroutine f2pywrap_f90brownian_normal2ddistsampling 
      subroutine f2pywrap_f90brownian_lognormal_price_simulation (lognor&
     &mal_price_simulationf2pywrap, lognormal_price_simulation, logs0, r&
     &, sigma, dt, nbsteps, nbsimulations)
      real logs0
      real r
      real sigma
      real dt
      integer nbsteps
      integer nbsimulations
      real lognormal_price_simulation(nbsimulations,nbsteps)
      real lognormal_price_simulationf2pywrap(nbsimulations,nbsteps)
      end subroutine f2pywrap_f90brownian_lognormal_price_simulation 
      subroutine f2pywrap_f90brownian_squareroot_diffusion_simulation (s&
     &quareroot_diffusion_simulationf2pywrap, squareroot_diffusion_simul&
     &ation, x0, theta, kappa, sigma, dt, nbsteps, nbsimulations)
      real x0
      real theta
      real kappa
      real sigma
      real dt
      integer nbsteps
      integer nbsimulations
      real squareroot_diffusion_simulation(nbsimulations,nbsteps)
      real squareroot_diffusion_simulationf2pywrap(nbsimulations,nbsteps&
     &)
      end subroutine f2pywrap_f90brownian_squareroot_diffusion_simulatio&
     &n
      end interface
      external f2pysetupfunc
      call f2pysetupfunc(symmatd2eigen,f2pywrap_f90brownian_inv_errfcn,f&
     &2pywrap_f90brownian_normaldistsampling,f2pywrap_f90brownian_normal&
     &2ddistsampling,initialize_random_seeds,f2pywrap_f90brownian_lognor&
     &mal_price_simulation,f2pywrap_f90brownian_squareroot_diffusion_sim&
     &ulation,heston_price_simulation)
      end subroutine f2pyinitf90brownian


