qmckl/tools/qmckl_probes_f.f90

82 lines
2.9 KiB
Fortran

module qmckl_probes_f
interface
logical(c_bool) function qmckl_probe_c &
(testName, varName, val) &
bind(C, name="qmckl_probe")
use, intrinsic :: iso_c_binding
import
implicit none
character(C_CHAR), dimension(*) :: testName
character(C_CHAR), dimension(*) :: varName
real(C_DOUBLE), value :: val
end function qmckl_probe_c
logical(c_bool) function qmckl_probe_check_c &
(testName, varName, val, expectedValue, accuracyTarget) &
bind(C, name="qmckl_probe_check")
use, intrinsic :: iso_c_binding
import
implicit none
character(C_CHAR), dimension(*) :: testName
character(C_CHAR), dimension(*) :: varName
real(C_DOUBLE), value :: val
real(C_DOUBLE), value :: expectedValue
real(C_DOUBLE), value :: accuracyTarget
end function qmckl_probe_check_c
logical(c_bool) function qmckl_probe_check_relative_c &
(testName, varName, val, expectedValue, accuracyTarget) &
bind(C, name="qmckl_probe_check_relative")
use, intrinsic :: iso_c_binding
import
implicit none
character(C_CHAR), dimension(*) :: testName
character(C_CHAR), dimension(*) :: varName
real(C_DOUBLE), value :: val
real(C_DOUBLE), value :: expectedValue
real(C_DOUBLE), value :: accuracyTarget
end function qmckl_probe_check_relative_c
end interface
logical function qmckl_probe (testName, varName, val)
implicit none
character, dimension(*) :: testName
character, dimension(*) :: varName
double precision :: val
return qmckl_probe_c(testName//C_NULL_CHAR, varName//C_NULL_CHAR, val)
end function qmckl_probe
logical function qmckl_probe_check
(testName, varName, val, expectedValue, accuracyTarget)
implicit none
character, dimension(*) :: testName
character, dimension(*) :: varName
double precision :: val
double precision :: expectedValue
double precision :: accuracyTarget
return qmckl_probe_check_c(testName//C_NULL_CHAR, varName//C_NULL_CHAR, &
val, expectedValue, accuracyTarget)
end function qmckl_probe_check
logical function qmckl_probe_check_relative &
(testName, varName, val, expectedValue, accuracyTarget)
implicit none
character, dimension(*) :: testName
character, dimension(*) :: varName
double precision :: val
double precision :: expectedValue
double precision :: accuracyTarget
return qmckl_probe_check_relative_c(testName//C_NULL_CHAR, varName//C_NULL_CHAR, &
val, expectedValue, accuracyTarget)
end function qmckl_probe_check_relative
end module qmckl_probes_f