Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc99292c

Browse files
committed
TST: Add long double and complex long double to f2py tests
These are less common types, but there is a specific code path in f2pythat wasn't being exercised.
1 parent54529e2 commitc99292c

File tree

6 files changed

+59
-5
lines changed

6 files changed

+59
-5
lines changed

‎numpy/f2py/tests/src/return_complex/foo77.f

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ function t16(value)
1313
complex*16 t16
1414
t16= value
1515
end
16+
functiont32(value)
17+
complex*32 value
18+
complex*32 t32
19+
t32= value
20+
end
1621
functiontd(value)
1722
doublecomplex value
1823
doublecomplex td
@@ -37,6 +42,12 @@ subroutine s16(t16,value)
3742
cf2pyintent(out) t16
3843
t16= value
3944
end
45+
subroutines32(t32,value)
46+
complex*32 value
47+
complex*32 t32
48+
cf2pyintent(out) t32
49+
t32= value
50+
end
4051
subroutinesd(td,value)
4152
doublecomplex value
4253
doublecomplex td

‎numpy/f2py/tests/src/return_complex/foo90.f90

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ function t16(value)
1515
complex(kind=8):: t16
1616
t16= value
1717
endfunction t16
18+
functiont32(value)
19+
complex(kind=16):: value
20+
complex(kind=16):: t32
21+
t32= value
22+
endfunction t32
1823
functiontd(value)
1924
doublecomplex:: value
2025
doublecomplex:: td
@@ -39,6 +44,12 @@ subroutine s16(t16,value)
3944
!f2py intent(out) t16
4045
t16= value
4146
endsubroutine s16
47+
subroutines32(t32,value)
48+
complex(kind=16):: value
49+
complex(kind=16):: t32
50+
!f2py intent(out) t32
51+
t32= value
52+
endsubroutine s32
4253
subroutinesd(td,value)
4354
doublecomplex:: value
4455
doublecomplex:: td

‎numpy/f2py/tests/src/return_real/foo77.f

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ function t8(value)
1313
real*8 t8
1414
t8= value
1515
end
16+
functiont16(value)
17+
real*16 value
18+
real*16 t16
19+
t16= value
20+
end
1621
functiontd(value)
1722
double precision value
1823
double precision td
@@ -37,6 +42,12 @@ subroutine s8(t8,value)
3742
cf2pyintent(out) t8
3843
t8= value
3944
end
45+
subroutines16(t16,value)
46+
real*16 value
47+
real*16 t16
48+
cf2pyintent(out) t16
49+
t16= value
50+
end
4051
subroutinesd(td,value)
4152
double precision value
4253
double precision td

‎numpy/f2py/tests/src/return_real/foo90.f90

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ function t8(value)
1515
real(kind=8):: t8
1616
t8= value
1717
endfunction t8
18+
functiont16(value)
19+
real(kind=16):: value
20+
real(kind=16):: t16
21+
t16= value
22+
endfunction t16
1823
functiontd(value)
1924
double precision:: value
2025
double precision:: td
@@ -39,6 +44,12 @@ subroutine s8(t8,value)
3944
!f2py intent(out) t8
4045
t8= value
4146
endsubroutine s8
47+
subroutines16(t16,value)
48+
real(kind=16):: value
49+
real(kind=16):: t16
50+
!f2py intent(out) t16
51+
t16= value
52+
endsubroutine s16
4253
subroutinesd(td,value)
4354
double precision:: value
4455
double precision:: td

‎numpy/f2py/tests/test_return_complex.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ class TestFReturnComplex(TestReturnComplex):
5757
util.getpath("tests","src","return_complex","foo90.f90"),
5858
]
5959

60-
@pytest.mark.parametrize("name", ["t0","t8","t16","td","s0","s8","s16","sd"])
60+
@pytest.mark.parametrize("name", ["t0","t8","t16","t32","td","s0","s8","s16","s32","sd"])
6161
deftest_all_f77(self,name):
6262
self.check_function(getattr(self.module,name),name)
6363

64-
@pytest.mark.parametrize("name", ["t0","t8","t16","td","s0","s8","s16","sd"])
64+
@pytest.mark.parametrize("name", ["t0","t8","t16","t32","td","s0","s8","s16","s32","sd"])
6565
deftest_all_f90(self,name):
6666
self.check_function(getattr(self.module.f90_return_complex,name),
6767
name)

‎numpy/f2py/tests/test_return_real.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ class TestCReturnReal(TestReturnReal):
6767
void s4(float *t4, float value) { *t4 = value; }
6868
double t8(double value) { return value; }
6969
void s8(double *t8, double value) { *t8 = value; }
70+
long double t16(long double value) { return value; }
71+
void s16(long double *t16, long double value) { *t16 = value; }
7072
\'\'\'
7173
interface
7274
function t4(value)
@@ -75,6 +77,9 @@ class TestCReturnReal(TestReturnReal):
7577
function t8(value)
7678
real*8 intent(c) :: t8,value
7779
end
80+
function t16(value)
81+
real*16 intent(c) :: t16,value
82+
end
7883
subroutine s4(t4,value)
7984
intent(c) s4
8085
real*4 intent(out) :: t4
@@ -85,11 +90,16 @@ class TestCReturnReal(TestReturnReal):
8590
real*8 intent(out) :: t8
8691
real*8 intent(c) :: value
8792
end
93+
subroutine s16(t16,value)
94+
intent(c) s16
95+
real*16 intent(out) :: t16
96+
real*16 intent(c) :: value
97+
end
8898
end interface
8999
end python module c_ext_return_real
90100
"""
91101

92-
@pytest.mark.parametrize("name", ["t4","t8","s4","s8"])
102+
@pytest.mark.parametrize("name", ["t4","t8","t16","s4","s8","s16"])
93103
deftest_all(self,name):
94104
self.check_function(getattr(self.module,name),name)
95105

@@ -100,10 +110,10 @@ class TestFReturnReal(TestReturnReal):
100110
util.getpath("tests","src","return_real","foo90.f90"),
101111
]
102112

103-
@pytest.mark.parametrize("name", ["t0","t4","t8","td","s0","s4","s8","sd"])
113+
@pytest.mark.parametrize("name", ["t0","t4","t8","t16","td","s0","s4","s8","s16","sd"])
104114
deftest_all_f77(self,name):
105115
self.check_function(getattr(self.module,name),name)
106116

107-
@pytest.mark.parametrize("name", ["t0","t4","t8","td","s0","s4","s8","sd"])
117+
@pytest.mark.parametrize("name", ["t0","t4","t8","t16","td","s0","s4","s8","s16","sd"])
108118
deftest_all_f90(self,name):
109119
self.check_function(getattr(self.module.f90_return_real,name),name)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp