




















































































































 


































































































































































 

















































































































































































































































































































































































































































 






































































































 










 








































































































































































































































 










                                
                                

                                
                                

                                
                                

                                





































module Con2Prim_fortran_interfaces
  implicit none
  
  INTEGER*4, parameter :: izero = 0
  integer, parameter :: ik = kind(izero)

  interface

     subroutine Con2Prim_pt(&
          cctk_iteration,ii,jj,kk,&
          handle, &
          dens, &
          sx, sy, sz, &
          tau, &
          rho, &
          velx, vely, velz, &
          epsilon, press, &
          w_lorentz, &
          uxx, uxy, uxz, &
          uyy, uyz, uzz, &
          det, &
          x, y, z, r, &
          epsnegative, &
          GRHydro_rho_min, pmin, epsmin, &
          GRHydro_reflevel, GRHydro_C2P_failed)
       
       implicit none
       INTEGER*4  cctk_iteration, ii, jj, kk
       INTEGER*4  handle
       REAL*8 dens
       REAL*8 sx, sy, sz
       REAL*8 tau
       REAL*8 rho 
       REAL*8 velx, vely, velz
       REAL*8 epsilon, press
       REAL*8 w_lorentz
       REAL*8 uxx, uxy, uxz
       REAL*8 uyy, uyz, uzz
       REAL*8 det
       REAL*8 x, y, z, r
       logical  epsnegative
       REAL*8 GRHydro_rho_min, pmin, epsmin
       INTEGER*4  GRHydro_reflevel
       REAL*8 GRHydro_C2P_failed    
     end subroutine Con2Prim_pt

     subroutine Con2Prim_ptPolytype(GRHydro_polytrope_handle, &
          dens, &
          sx, sy, sz, &
          tau, &
          rho, &
          velx, vely, velz, &
          eps, press, &
          w_lorentz, &
          uxx, uxy, uxz, uyy, uyz, uzz, &
          det, &
          x, y, z, r, &
          GRHydro_rho_min, &
          GRHydro_reflevel, GRHydro_C2P_failed)
          
       implicit none
       INTEGER*4  GRHydro_polytrope_handle
       REAL*8 dens
       REAL*8 sx, sy, sz
       REAL*8 tau
       REAL*8 rho 
       REAL*8 velx, vely, velz
       REAL*8 eps, press
       REAL*8 w_lorentz
       REAL*8 uxx, uxy, uxz
       REAL*8 uyy, uyz, uzz
       REAL*8 det
       REAL*8 x, y, z, r
       REAL*8 GRHydro_rho_min
       INTEGER*4  GRHydro_reflevel
       REAL*8 GRHydro_C2P_failed
     end subroutine Con2Prim_ptPolytype

     subroutine Con2Prim_ptTracer(cons_tracer, tracer, dens)
       implicit none  
       REAL*8 cons_tracer, tracer, dens
     end subroutine Con2Prim_ptTracer

     subroutine Con2Prim_ptBoundsTracer(cons_tracer, tracer, rho, one_over_w_lorentz, det)
       implicit none
       REAL*8 cons_tracer, tracer, rho, one_over_w_lorentz, det
     end subroutine Con2Prim_ptBoundsTracer

  end interface

end module Con2Prim_fortran_interfaces
