@@ -513,23 +513,23 @@ contains
513
513
#:for chunk in CHUNKS
514
514
pure subroutine chunk_kernel_${chunk}$(n,a,col,x,y)
515
515
integer, value :: n
516
- ${t1}$, intent(in) :: a(${chunk}$,n), x(* )
516
+ ${t1}$, intent(in) :: a(${chunk}$,n), x(: )
517
517
integer(ilp), intent(in) :: col(${chunk}$,n)
518
518
${t1}$, intent(inout) :: y(${chunk}$)
519
519
integer :: j
520
520
do j = 1, n
521
- where(col(:,j) > 0) y = y + alpha_ * a(:,j) * x(col(:,j))
521
+ y(:) = y(:) + alpha_ * a(:,j) * x(col(:,j))
522
522
end do
523
523
end subroutine
524
524
pure subroutine chunk_kernel_trans_${chunk}$(n,a,col,x,y)
525
525
integer, value :: n
526
526
${t1}$, intent(in) :: a(${chunk}$,n), x(${chunk}$)
527
527
integer(ilp), intent(in) :: col(${chunk}$,n)
528
- ${t1}$, intent(inout) :: y(* )
528
+ ${t1}$, intent(inout) :: y(: )
529
529
integer :: j, k
530
530
do j = 1, n
531
531
do k = 1, ${chunk}$
532
- if(col(k,j) > 0) y(col(k,j)) = y(col(k,j)) + alpha_ * a(k,j) * x(k)
532
+ y(col(k,j)) = y(col(k,j)) + alpha_ * a(k,j) * x(k)
533
533
end do
534
534
end do
535
535
end subroutine
@@ -538,11 +538,11 @@ contains
538
538
integer, value :: n
539
539
${t1}$, intent(in) :: a(${chunk}$,n), x(${chunk}$)
540
540
integer(ilp), intent(in) :: col(${chunk}$,n)
541
- ${t1}$, intent(inout) :: y(* )
541
+ ${t1}$, intent(inout) :: y(: )
542
542
integer :: j, k
543
543
do j = 1, n
544
544
do k = 1, ${chunk}$
545
- if(col(k,j) > 0) y(col(k,j)) = y(col(k,j)) + alpha_ * conjg(a(k,j)) * x(k)
545
+ y(col(k,j)) = y(col(k,j)) + alpha_ * conjg(a(k,j)) * x(k)
546
546
end do
547
547
end do
548
548
end subroutine
@@ -551,23 +551,23 @@ contains
551
551
552
552
pure subroutine chunk_kernel_rm(n,cs,r,a,col,x,y)
553
553
integer, value :: n, cs, r
554
- ${t1}$, intent(in) :: a(cs,n), x(* )
554
+ ${t1}$, intent(in) :: a(cs,n), x(: )
555
555
integer(ilp), intent(in) :: col(cs,n)
556
556
${t1}$, intent(inout) :: y(r)
557
557
integer :: j
558
558
do j = 1, n
559
- where(col( 1:r,j) > 0) y = y + alpha_ * a(1:r,j) * x(col(1:r,j))
559
+ y( 1:r) = y(1:r) + alpha_ * a(1:r,j) * x(col(1:r,j))
560
560
end do
561
561
end subroutine
562
562
pure subroutine chunk_kernel_rm_trans(n,cs,r,a,col,x,y)
563
563
integer, value :: n, cs, r
564
564
${t1}$, intent(in) :: a(cs,n), x(r)
565
565
integer(ilp), intent(in) :: col(cs,n)
566
- ${t1}$, intent(inout) :: y(* )
566
+ ${t1}$, intent(inout) :: y(: )
567
567
integer :: j, k
568
568
do j = 1, n
569
569
do k = 1, r
570
- if(col(k,j) > 0) y(col(k,j)) = y(col(k,j)) + alpha_ * a(k,j) * x(k)
570
+ y(col(k,j)) = y(col(k,j)) + alpha_ * a(k,j) * x(k)
571
571
end do
572
572
end do
573
573
end subroutine
@@ -576,11 +576,11 @@ contains
576
576
integer, value :: n, cs, r
577
577
${t1}$, intent(in) :: a(cs,n), x(r)
578
578
integer(ilp), intent(in) :: col(cs,n)
579
- ${t1}$, intent(inout) :: y(* )
579
+ ${t1}$, intent(inout) :: y(: )
580
580
integer :: j, k
581
581
do j = 1, n
582
582
do k = 1, r
583
- if(col(k,j) > 0) y(col(k,j)) = y(col(k,j)) + alpha_ * conjg(a(k,j)) * x(k)
583
+ y(col(k,j)) = y(col(k,j)) + alpha_ * conjg(a(k,j)) * x(k)
584
584
end do
585
585
end do
586
586
end subroutine
0 commit comments