@@ -302,7 +302,7 @@ subroutine dvode(vstate, rwork, IWORK, ITASK, IOPT, MF)
302302 vstate % JSTART = - 1
303303 IF (vstate % NQ .LE. VODE_MAXORD) GO TO 90
304304 ! MAXORD was reduced below NQ. Copy YH(*,MAXORD+2) into SAVF. ---------
305- CALL DCOPYN(VODE_NEQS, rwork % wm, 1 , rwork % savf, 1 )
305+ rwork % savf( 1 :VODE_NEQS) = rwork % wm( 1 :VODE_NEQS )
306306
307307 ! Reload WM(1) = RWORK % wm(1), since LWM may have changed. ---------------
30830890 continue
@@ -356,7 +356,7 @@ subroutine dvode(vstate, rwork, IWORK, ITASK, IOPT, MF)
356356 CALL f_rhs (vstate % T, vstate % Y, rwork % yh(:,2 ), vstate % RPAR)
357357 vstate % NFE = 1
358358 ! Load the initial value array in YH. ---------------------------------
359- CALL DCOPYN( VODE_NEQS, vstate % Y, 1 , rwork % YH(:, 1 ), 1 )
359+ rwork % YH( 1 : VODE_NEQS,1 ) = vstate % Y( 1 :VODE_NEQS )
360360
361361 ! Load and invert the EWT array. (H is temporarily set to 1.0.) -------
362362 vstate % NQ = 1
@@ -641,7 +641,7 @@ subroutine dvode(vstate, rwork, IWORK, ITASK, IOPT, MF)
641641 ! -----------------------------------------------------------------------
642642
643643400 CONTINUE
644- CALL DCOPYN( VODE_NEQS, rwork % YH(:, 1 ), 1 , vstate % Y, 1 )
644+ vstate % Y( 1 : VODE_NEQS) = rwork % YH(1 :VODE_NEQS, 1 )
645645
646646 vstate % T = vstate % TN
647647 IF (ITASK .NE. 4 .AND. ITASK .NE. 5 ) GO TO 420
@@ -732,7 +732,7 @@ subroutine dvode(vstate, rwork, IWORK, ITASK, IOPT, MF)
732732 IWORK(16 ) = IMXER
733733 ! Set Y array, T, and optional output. --------------------------------
734734580 CONTINUE
735- CALL DCOPYN( VODE_NEQS, rwork % YH(:, 1 ), 1 , vstate % Y, 1 )
735+ vstate % Y( 1 : VODE_NEQS) = rwork % YH(1 :VODE_NEQS, 1 )
736736
737737 vstate % T = vstate % TN
738738 IWORK(11 ) = vstate % NST
0 commit comments