Skip to content

Commit

Permalink
do not use strides
Browse files Browse the repository at this point in the history
  • Loading branch information
perazz committed Sep 18, 2024
1 parent de4f8d3 commit 37616ad
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/stdlib_linalg_norms.fypp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
! Vector norms
submodule(stdlib_linalg) stdlib_linalg_norms
use stdlib_linalg_constants
use stdlib_linalg_blas!, only: nrm2
use stdlib_linalg_blas, only: nrm2
use stdlib_linalg_lapack, only: lange
use stdlib_linalg_state, only: linalg_state_type, linalg_error_handling, LINALG_ERROR, &
LINALG_INTERNAL_ERROR, LINALG_VALUE_ERROR
Expand Down Expand Up @@ -169,7 +169,7 @@ submodule(stdlib_linalg) stdlib_linalg_norms

type(linalg_state_type) :: err_

integer(ilp) :: sze,norm_request,str
integer(ilp) :: sze,norm_request
real(${rk}$) :: rorder
${rt}$, pointer :: a1d(:)
intrinsic :: abs, sum, sqrt, maxval, minval, conjg
Expand Down Expand Up @@ -198,7 +198,7 @@ submodule(stdlib_linalg) stdlib_linalg_norms
nrm = sum( abs(a) )
case(NORM_TWO)
#:if rank==1
nrm = nrm2(sze,a,incx=stride_1d(a))
nrm = nrm2(sze,a,incx=1)
#:elif rt.startswith('complex')
nrm = sqrt( real( sum( a * conjg(a) ), ${rk}$) )
#:else
Expand Down
15 changes: 15 additions & 0 deletions test/linalg/test_linalg_norm.fypp
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,21 @@ module test_linalg_norm
'2d-reshaped ${rt}$ norm(a,2)')
if (allocated(error)) return

! Test row norm (strided access)
slice = twod(3,:)
call check(error,abs(norm(twod(3,:),2)-norm(slice,2))<tol*max(1.0_${rk}$,norm(twod(3,:),2)), &
'row ${rt}$ norm(t(3,:),2)')
if (allocated(error)) return


! Test column norm (strided access)
slice = twod(::2,3)
call check(error,abs(norm(twod(::2,3),2)-norm(slice,2))<tol*max(1.0_${rk}$,norm(twod(::2,3),2)), &
'column ${rt}$ norm(t(::2,3),2)')
if (allocated(error)) return



end subroutine test_strided_1d_${ri}$

#:for rank in range(1, MAXRANK)
Expand Down

0 comments on commit 37616ad

Please sign in to comment.