Skip to content

Commit 9b6c3d0

Browse files
committed
{simps,trapz}_x_*: error stop -> check; drop pure
1 parent 856e9be commit 9b6c3d0

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

src/stdlib_experimental_quadrature.fypp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ module stdlib_experimental_quadrature
2525
end function trapz_dx_${k1}$
2626
#:endfor
2727
#:for k1, t1 in REAL_KINDS_TYPES
28-
pure module function trapz_x_${k1}$(y, x) result(integral)
28+
module function trapz_x_${k1}$(y, x) result(integral)
2929
${t1}$, dimension(:), intent(in) :: y
3030
${t1}$, dimension(:), intent(in) :: x
3131
${t1}$ :: integral
@@ -59,7 +59,7 @@ module stdlib_experimental_quadrature
5959
end function simps_dx_${k1}$
6060
#:endfor
6161
#:for k1, t1 in REAL_KINDS_TYPES
62-
pure recursive module function simps_x_${k1}$(y, x, even) result(integral)
62+
recursive module function simps_x_${k1}$(y, x, even) result(integral)
6363
${t1}$, dimension(:), intent(in) :: y
6464
${t1}$, dimension(:), intent(in) :: x
6565
integer, intent(in), optional :: even

src/stdlib_experimental_quadrature_simps.fypp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#:include "common.fypp"
22

33
submodule (stdlib_experimental_quadrature) stdlib_experimental_quadrature_simps
4-
4+
use stdlib_experimental_error, only: check
55
implicit none
66

77
! internal use only
@@ -88,7 +88,7 @@ contains
8888
#:endfor
8989
#:for k1, t1 in REAL_KINDS_TYPES
9090

91-
pure recursive module function simps_x_${k1}$(y, x, even) result(integral)
91+
recursive module function simps_x_${k1}$(y, x, even) result(integral)
9292
${t1}$, dimension(:), intent(in) :: y
9393
${t1}$, dimension(:), intent(in) :: x
9494
integer, intent(in), optional :: even
@@ -101,7 +101,7 @@ contains
101101
${t1}$ :: a, b, c
102102

103103
n = size(y)
104-
if (size(x) /= n) error stop "simps: Arguments `x` and `y` must be the same size."
104+
call check(size(x) == n, "simps: Arguments `x` and `y` must be the same size.")
105105

106106
select case (n)
107107
case (0:1)

src/stdlib_experimental_quadrature_trapz.fypp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#:include "common.fypp"
22

33
submodule (stdlib_experimental_quadrature) stdlib_experimental_quadrature_trapz
4-
4+
use stdlib_experimental_error, only: check
55
implicit none
66

77
contains
@@ -29,8 +29,8 @@ contains
2929

3030
#:endfor
3131
#:for KIND in REAL_KINDS
32-
33-
pure module function trapz_x_${KIND}$(y, x) result(integral)
32+
33+
module function trapz_x_${KIND}$(y, x) result(integral)
3434
real(${KIND}$), dimension(:), intent(in) :: y
3535
real(${KIND}$), dimension(:), intent(in) :: x
3636
real(${KIND}$) :: integral
@@ -39,7 +39,7 @@ contains
3939
integer :: n
4040

4141
n = size(y)
42-
if (size(x) /= n) error stop "trapz: Arguments `x` and `y` must be the same size."
42+
call check(size(x) == n, "trapz: Arguments `x` and `y` must be the same size.")
4343

4444
select case (n)
4545
case (0:1)

0 commit comments

Comments
 (0)