summaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression')
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/AB.inc1
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/assignOnlyModule.f9025
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/datonly.f9017
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f77comments.f26
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f77fixedform.f955
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f90continuation.f909
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/incfile.f905
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/inout.f909
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/lower_f2py_fortran.f905
-rw-r--r--.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/mod_derived_types.f9023
10 files changed, 125 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/AB.inc b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/AB.inc
new file mode 100644
index 0000000..8a02f63
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/AB.inc
@@ -0,0 +1 @@
+real(8) b, n, m
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/assignOnlyModule.f90 b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/assignOnlyModule.f90
new file mode 100644
index 0000000..479ac79
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/assignOnlyModule.f90
@@ -0,0 +1,25 @@
+ MODULE MOD_TYPES
+ INTEGER, PARAMETER :: SP = SELECTED_REAL_KIND(6, 37)
+ INTEGER, PARAMETER :: DP = SELECTED_REAL_KIND(15, 307)
+ END MODULE
+!
+ MODULE F_GLOBALS
+ USE MOD_TYPES
+ IMPLICIT NONE
+ INTEGER, PARAMETER :: N_MAX = 16
+ INTEGER, PARAMETER :: I_MAX = 18
+ INTEGER, PARAMETER :: J_MAX = 72
+ REAL(SP) :: XREF
+ END MODULE F_GLOBALS
+!
+ SUBROUTINE DUMMY ()
+!
+ USE F_GLOBALS
+ USE MOD_TYPES
+ IMPLICIT NONE
+!
+ REAL(SP) :: MINIMAL
+ MINIMAL = 0.01*XREF
+ RETURN
+!
+ END SUBROUTINE DUMMY
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/datonly.f90 b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/datonly.f90
new file mode 100644
index 0000000..67fc4ac
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/datonly.f90
@@ -0,0 +1,17 @@
+module datonly
+ implicit none
+ integer, parameter :: max_value = 100
+ real, dimension(:), allocatable :: data_array
+end module datonly
+
+module dat
+ implicit none
+ integer, parameter :: max_= 1009
+end module dat
+
+subroutine simple_subroutine(ain, aout)
+ use dat, only: max_
+ integer, intent(in) :: ain
+ integer, intent(out) :: aout
+ aout = ain + max_
+end subroutine simple_subroutine
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f77comments.f b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f77comments.f
new file mode 100644
index 0000000..452a01a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f77comments.f
@@ -0,0 +1,26 @@
+ SUBROUTINE TESTSUB(
+ & INPUT1, INPUT2, !Input
+ & OUTPUT1, OUTPUT2) !Output
+
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: INPUT1, INPUT2
+ INTEGER, INTENT(OUT) :: OUTPUT1, OUTPUT2
+
+ OUTPUT1 = INPUT1 + INPUT2
+ OUTPUT2 = INPUT1 * INPUT2
+
+ RETURN
+ END SUBROUTINE TESTSUB
+
+ SUBROUTINE TESTSUB2(OUTPUT)
+ IMPLICIT NONE
+ INTEGER, PARAMETER :: N = 10 ! Array dimension
+ REAL, INTENT(OUT) :: OUTPUT(N)
+ INTEGER :: I
+
+ DO I = 1, N
+ OUTPUT(I) = I * 2.0
+ END DO
+
+ RETURN
+ END
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f77fixedform.f95 b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f77fixedform.f95
new file mode 100644
index 0000000..e47a13f
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f77fixedform.f95
@@ -0,0 +1,5 @@
+C This is an invalid file, but it does compile with -ffixed-form
+ subroutine mwe(
+ & x)
+ real x
+ end subroutine mwe
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f90continuation.f90 b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f90continuation.f90
new file mode 100644
index 0000000..879e716
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/f90continuation.f90
@@ -0,0 +1,9 @@
+SUBROUTINE TESTSUB(INPUT1, & ! Hello
+! commenty
+INPUT2, OUTPUT1, OUTPUT2) ! more comments
+ INTEGER, INTENT(IN) :: INPUT1, INPUT2
+ INTEGER, INTENT(OUT) :: OUTPUT1, OUTPUT2
+ OUTPUT1 = INPUT1 + &
+ INPUT2
+ OUTPUT2 = INPUT1 * INPUT2
+END SUBROUTINE TESTSUB
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/incfile.f90 b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/incfile.f90
new file mode 100644
index 0000000..276ef3a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/incfile.f90
@@ -0,0 +1,5 @@
+function add(n,m) result(b)
+ implicit none
+ include 'AB.inc'
+ b = n + m
+end function add
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/inout.f90 b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/inout.f90
new file mode 100644
index 0000000..80cdad9
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/inout.f90
@@ -0,0 +1,9 @@
+! Check that intent(in out) translates as intent(inout).
+! The separation seems to be a common usage.
+ subroutine foo(x)
+ implicit none
+ real(4), intent(in out) :: x
+ dimension x(3)
+ x(1) = x(1) + x(2) + x(3)
+ return
+ end
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/lower_f2py_fortran.f90 b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/lower_f2py_fortran.f90
new file mode 100644
index 0000000..1c4b8c1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/lower_f2py_fortran.f90
@@ -0,0 +1,5 @@
+subroutine inquire_next(IU)
+ IMPLICIT NONE
+ integer :: IU
+ !f2py intent(in) IU
+end subroutine
diff --git a/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/mod_derived_types.f90 b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/mod_derived_types.f90
new file mode 100644
index 0000000..7692c82
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/numpy/f2py/tests/src/regression/mod_derived_types.f90
@@ -0,0 +1,23 @@
+module mtypes
+ implicit none
+ integer, parameter :: value1 = 100
+ type :: master_data
+ integer :: idat = 200
+ end type master_data
+ type(master_data) :: masterdata
+end module mtypes
+
+
+subroutine no_type_subroutine(ain, aout)
+ use mtypes, only: value1
+ integer, intent(in) :: ain
+ integer, intent(out) :: aout
+ aout = ain + value1
+end subroutine no_type_subroutine
+
+subroutine type_subroutine(ain, aout)
+ use mtypes, only: masterdata
+ integer, intent(in) :: ain
+ integer, intent(out) :: aout
+ aout = ain + masterdata%idat
+end subroutine type_subroutine \ No newline at end of file