diff options
author | Rohit Goswami <rog32@hi.is> | 2022-06-10 03:52:55 +0000 |
---|---|---|
committer | Rohit Goswami <rog32@hi.is> | 2022-06-10 03:53:09 +0000 |
commit | 43fe8d6775a2a9db63fd00c63c14c7ee2efae01f (patch) | |
tree | 6d8e4c02843e41d909a80e1d3965faf3f49dabbc | |
parent | 006be68a122c037bfc6b9651ad0d60d73654f54e (diff) | |
download | numpy-43fe8d6775a2a9db63fd00c63c14c7ee2efae01f.tar.gz |
TST: Ensure long_long in f2cmap works
-rw-r--r-- | numpy/f2py/tests/src/f2cmap/.f2py_f2cmap | 1 | ||||
-rw-r--r-- | numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 | 9 | ||||
-rw-r--r-- | numpy/f2py/tests/test_f2cmap.py | 15 |
3 files changed, 25 insertions, 0 deletions
diff --git a/numpy/f2py/tests/src/f2cmap/.f2py_f2cmap b/numpy/f2py/tests/src/f2cmap/.f2py_f2cmap new file mode 100644 index 000000000..a4425f887 --- /dev/null +++ b/numpy/f2py/tests/src/f2cmap/.f2py_f2cmap @@ -0,0 +1 @@ +dict(real=dict(real32='float', real64='double'), integer=dict(int64='long_long')) diff --git a/numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 b/numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 new file mode 100644 index 000000000..3f0e12c76 --- /dev/null +++ b/numpy/f2py/tests/src/f2cmap/isoFortranEnvMap.f90 @@ -0,0 +1,9 @@ + subroutine func1(n, x, res) + use, intrinsic :: iso_fortran_env, only: int64, real64 + implicit none + integer(int64), intent(in) :: n + real(real64), intent(in) :: x(n) + real(real64), intent(out) :: res +Cf2py intent(hide) :: n + res = sum(x) + end diff --git a/numpy/f2py/tests/test_f2cmap.py b/numpy/f2py/tests/test_f2cmap.py new file mode 100644 index 000000000..d2967e4f7 --- /dev/null +++ b/numpy/f2py/tests/test_f2cmap.py @@ -0,0 +1,15 @@ +from . import util +import numpy as np + +class TestF2Cmap(util.F2PyTest): + sources = [ + util.getpath("tests", "src", "f2cmap", "isoFortranEnvMap.f90"), + util.getpath("tests", "src", "f2cmap", ".f2py_f2cmap") + ] + + # gh-15095 + def test_long_long_map(self): + inp = np.ones(3) + out = self.module.func1(inp) + exp_out = 3 + assert out == exp_out |