1
1
#:include "common.fypp"
2
- #:set RANKS = range(1, MAXRANK + 1)
3
- #:set RC_KINDS_TYPES = REAL_KINDS_TYPES + CMPLX_KINDS_TYPES
4
2
submodule (stdlib_math) stdlib_math_linspace
5
3
6
4
implicit none
@@ -52,7 +50,7 @@ contains
52
50
53
51
54
52
#:for k1, t1 in CMPLX_KINDS_TYPES
55
- #:set RName = rname("clinspace_default ", 1, t1, k1)
53
+ #:set RName = rname("linspace_default ", 1, t1, k1)
56
54
module procedure ${RName}$
57
55
58
56
res = linspace(start, end, DEFAULT_LINSPACE_LENGTH)
@@ -61,18 +59,36 @@ contains
61
59
#:endfor
62
60
63
61
#:for k1, t1 in CMPLX_KINDS_TYPES
64
- #:set RName = rname("clinspace_n ", 1, t1, k1)
62
+ #:set RName = rname("linspace_n ", 1, t1, k1)
65
63
module procedure ${RName}$
66
64
67
65
real(${k1}$) :: x(n) ! array of the real part of complex number
68
66
real(${k1}$) :: y(n) ! array of the imaginary part of the complex number
69
67
70
- x = linspace(real( start), real( end) , n)
71
- y = linspace(aimag( start), aimag( end) , n)
68
+ x = linspace(start%re, end%re , n)
69
+ y = linspace(start%im, end%im , n)
72
70
73
71
res = cmplx(x, y, kind=${k1}$)
74
72
75
73
end procedure ${RName}$
76
74
#:endfor
77
75
76
+ #:for k1, t1 in INT_KINDS_TYPES
77
+ #:set RName = rname("linspace_default", 1, t1, k1)
78
+ module procedure ${RName}$
79
+
80
+ res = linspace(real(start, kind=dp), real(end, kind=dp), DEFAULT_LINSPACE_LENGTH)
81
+
82
+ end procedure ${RName}$
83
+ #:endfor
84
+
85
+ #:for k1, t1 in INT_KINDS_TYPES
86
+ #:set RName = rname("linspace_n", 1, t1, k1)
87
+ module procedure ${RName}$
88
+
89
+ res = linspace(real(start, kind=dp), real(end, kind=dp), n)
90
+
91
+ end procedure ${RName}$
92
+ #:endfor
93
+
78
94
end submodule
0 commit comments