@@ -10,96 +10,91 @@ module stdlib_experimental_stats
10
10
! Public API
11
11
public :: corr, cov, mean, moment, var
12
12
13
+
13
14
interface corr
14
- #:for k1, t1 in RC_KINDS_TYPES
15
- #:set RName = rname("corr",1, t1, k1)
16
- module function ${RName}$(x, dim, mask) result(res)
17
- ${t1}$, intent(in) :: x(:)
18
- integer, intent(in) :: dim
19
- logical, intent(in), optional :: mask
20
- real(${k1}$) :: res
21
- end function ${RName}$
22
- #:endfor
23
-
24
-
25
- #:for k1, t1 in INT_KINDS_TYPES
26
- #:set RName = rname("corr",1, t1, k1, 'dp')
27
- module function ${RName}$(x, dim, mask) result(res)
28
- ${t1}$, intent(in) :: x(:)
29
- integer, intent(in) :: dim
30
- logical, intent(in), optional :: mask
31
- real(dp) :: res
32
- end function ${RName}$
33
- #:endfor
34
-
35
-
36
- #:for k1, t1 in RC_KINDS_TYPES
37
- #:set RName = rname("corr_mask",1, t1, k1)
38
- module function ${RName}$(x, dim, mask) result(res)
39
- ${t1}$, intent(in) :: x(:)
40
- integer, intent(in) :: dim
41
- logical, intent(in) :: mask(:)
42
- real(${k1}$) :: res
43
- end function ${RName}$
44
- #:endfor
45
-
46
-
47
- #:for k1, t1 in INT_KINDS_TYPES
48
- #:set RName = rname("corr_mask",1, t1, k1, 'dp')
49
- module function ${RName}$(x, dim, mask) result(res)
50
- ${t1}$, intent(in) :: x(:)
51
- integer, intent(in) :: dim
52
- logical, intent(in) :: mask(:)
53
- real(dp) :: res
54
- end function ${RName}$
55
- #:endfor
56
-
57
-
58
- #:for k1, t1 in RC_KINDS_TYPES
59
- #:set RName = rname("corr",2, t1, k1)
60
- module function ${RName}$(x, dim, mask) result(res)
61
- ${t1}$, intent(in) :: x(:, :)
62
- integer, intent(in) :: dim
63
- logical, intent(in), optional :: mask
64
- ${t1}$ :: res(merge(size(x, 1), size(x, 2), mask = 1<dim)&
65
- , merge(size(x, 1), size(x, 2), mask = 1<dim))
66
- end function ${RName}$
67
- #:endfor
68
-
69
-
70
- #:for k1, t1 in INT_KINDS_TYPES
71
- #:set RName = rname("corr",2, t1, k1, 'dp')
72
- module function ${RName}$(x, dim, mask) result(res)
73
- ${t1}$, intent(in) :: x(:, :)
74
- integer, intent(in) :: dim
75
- logical, intent(in), optional :: mask
76
- real(dp) :: res(merge(size(x, 1), size(x, 2), mask = 1<dim)&
77
- , merge(size(x, 1), size(x, 2), mask = 1<dim))
78
- end function ${RName}$
79
- #:endfor
80
-
81
-
82
- #:for k1, t1 in RC_KINDS_TYPES
83
- #:set RName = rname("corr_mask",2, t1, k1)
84
- module function ${RName}$(x, dim, mask) result(res)
85
- ${t1}$, intent(in) :: x(:, :)
86
- integer, intent(in) :: dim
87
- logical, intent(in) :: mask(:,:)
88
- ${t1}$ :: res(merge(size(x, 1), size(x, 2), mask = 1<dim)&
89
- , merge(size(x, 1), size(x, 2), mask = 1<dim))
90
- end function ${RName}$
91
- #:endfor
92
-
93
- #:for k1, t1 in INT_KINDS_TYPES
94
- #:set RName = rname("corr_mask",2, t1, k1, 'dp')
95
- module function ${RName}$(x, dim, mask) result(res)
96
- ${t1}$, intent(in) :: x(:, :)
97
- integer, intent(in) :: dim
98
- logical, intent(in) :: mask(:,:)
99
- real(dp) :: res(merge(size(x, 1), size(x, 2), mask = 1<dim)&
100
- , merge(size(x, 1), size(x, 2), mask = 1<dim))
101
- end function ${RName}$
102
- #:endfor
15
+ #:for k1, t1 in RC_KINDS_TYPES
16
+ #:set RName = rname("corr",1, t1, k1)
17
+ module function ${RName}$(x, dim, mask) result(res)
18
+ ${t1}$, intent(in) :: x(:)
19
+ integer, intent(in) :: dim
20
+ logical, intent(in), optional :: mask
21
+ real(${k1}$) :: res
22
+ end function ${RName}$
23
+ #:endfor
24
+
25
+ #:for k1, t1 in INT_KINDS_TYPES
26
+ #:set RName = rname("corr",1, t1, k1, 'dp')
27
+ module function ${RName}$(x, dim, mask) result(res)
28
+ ${t1}$, intent(in) :: x(:)
29
+ integer, intent(in) :: dim
30
+ logical, intent(in), optional :: mask
31
+ real(dp) :: res
32
+ end function ${RName}$
33
+ #:endfor
34
+
35
+ #:for k1, t1 in RC_KINDS_TYPES
36
+ #:set RName = rname("corr_mask",1, t1, k1)
37
+ module function ${RName}$(x, dim, mask) result(res)
38
+ ${t1}$, intent(in) :: x(:)
39
+ integer, intent(in) :: dim
40
+ logical, intent(in) :: mask(:)
41
+ real(${k1}$) :: res
42
+ end function ${RName}$
43
+ #:endfor
44
+
45
+ #:for k1, t1 in INT_KINDS_TYPES
46
+ #:set RName = rname("corr_mask",1, t1, k1, 'dp')
47
+ module function ${RName}$(x, dim, mask) result(res)
48
+ ${t1}$, intent(in) :: x(:)
49
+ integer, intent(in) :: dim
50
+ logical, intent(in) :: mask(:)
51
+ real(dp) :: res
52
+ end function ${RName}$
53
+ #:endfor
54
+
55
+ #:for k1, t1 in RC_KINDS_TYPES
56
+ #:set RName = rname("corr",2, t1, k1)
57
+ module function ${RName}$(x, dim, mask) result(res)
58
+ ${t1}$, intent(in) :: x(:, :)
59
+ integer, intent(in) :: dim
60
+ logical, intent(in), optional :: mask
61
+ ${t1}$ :: res(merge(size(x, 1), size(x, 2), mask = 1<dim)&
62
+ , merge(size(x, 1), size(x, 2), mask = 1<dim))
63
+ end function ${RName}$
64
+ #:endfor
65
+
66
+ #:for k1, t1 in INT_KINDS_TYPES
67
+ #:set RName = rname("corr",2, t1, k1, 'dp')
68
+ module function ${RName}$(x, dim, mask) result(res)
69
+ ${t1}$, intent(in) :: x(:, :)
70
+ integer, intent(in) :: dim
71
+ logical, intent(in), optional :: mask
72
+ real(dp) :: res(merge(size(x, 1), size(x, 2), mask = 1<dim)&
73
+ , merge(size(x, 1), size(x, 2), mask = 1<dim))
74
+ end function ${RName}$
75
+ #:endfor
76
+
77
+ #:for k1, t1 in RC_KINDS_TYPES
78
+ #:set RName = rname("corr_mask",2, t1, k1)
79
+ module function ${RName}$(x, dim, mask) result(res)
80
+ ${t1}$, intent(in) :: x(:, :)
81
+ integer, intent(in) :: dim
82
+ logical, intent(in) :: mask(:,:)
83
+ ${t1}$ :: res(merge(size(x, 1), size(x, 2), mask = 1<dim)&
84
+ , merge(size(x, 1), size(x, 2), mask = 1<dim))
85
+ end function ${RName}$
86
+ #:endfor
87
+
88
+ #:for k1, t1 in INT_KINDS_TYPES
89
+ #:set RName = rname("corr_mask",2, t1, k1, 'dp')
90
+ module function ${RName}$(x, dim, mask) result(res)
91
+ ${t1}$, intent(in) :: x(:, :)
92
+ integer, intent(in) :: dim
93
+ logical, intent(in) :: mask(:,:)
94
+ real(dp) :: res(merge(size(x, 1), size(x, 2), mask = 1<dim)&
95
+ , merge(size(x, 1), size(x, 2), mask = 1<dim))
96
+ end function ${RName}$
97
+ #:endfor
103
98
104
99
end interface corr
105
100
0 commit comments