summaryrefslogtreecommitdiff
path: root/numpy/f2py/tests/src/string/fixed_string.f90
diff options
context:
space:
mode:
authorRohit Goswami <rog32@hi.is>2021-12-04 19:33:43 +0000
committerRohit Goswami <rog32@hi.is>2021-12-06 00:13:01 +0000
commit8c588512d69574e4b6bfe0d21f1922a70ec56812 (patch)
treec7ac031335da8f5b32140d05c7093f93d206f511 /numpy/f2py/tests/src/string/fixed_string.f90
parentd14d2c359fcbd499b73d254f0c20dd1a884ff9a3 (diff)
downloadnumpy-8c588512d69574e4b6bfe0d21f1922a70ec56812.tar.gz
MAINT,TST: Refactor F2PY tests
Diffstat (limited to 'numpy/f2py/tests/src/string/fixed_string.f90')
-rw-r--r--numpy/f2py/tests/src/string/fixed_string.f9034
1 files changed, 34 insertions, 0 deletions
diff --git a/numpy/f2py/tests/src/string/fixed_string.f90 b/numpy/f2py/tests/src/string/fixed_string.f90
new file mode 100644
index 000000000..7fd158543
--- /dev/null
+++ b/numpy/f2py/tests/src/string/fixed_string.f90
@@ -0,0 +1,34 @@
+function sint(s) result(i)
+ implicit none
+ character(len=*) :: s
+ integer :: j, i
+ i = 0
+ do j=len(s), 1, -1
+ if (.not.((i.eq.0).and.(s(j:j).eq.' '))) then
+ i = i + ichar(s(j:j)) * 10 ** (j - 1)
+ endif
+ end do
+ return
+ end function sint
+
+ function test_in_bytes4(a) result (i)
+ implicit none
+ integer :: sint
+ character(len=4) :: a
+ integer :: i
+ i = sint(a)
+ a(1:1) = 'A'
+ return
+ end function test_in_bytes4
+
+ function test_inout_bytes4(a) result (i)
+ implicit none
+ integer :: sint
+ character(len=4), intent(inout) :: a
+ integer :: i
+ if (a(1:1).ne.' ') then
+ a(1:1) = 'E'
+ endif
+ i = sint(a)
+ return
+ end function test_inout_bytes4