TABLE OF CONTENTS


m_abi_linalg/abi_d2zcopy_2d [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_d2zcopy_2d

FUNCTION

INPUTS

SOURCE

233 subroutine abi_d2zcopy_2d(size,tsrc,incsrc,tdest,incdest,x_cplx)
234 
235  !Arguments-------------------------------------
236  integer, intent(in) :: size
237  integer, intent(in) :: incsrc
238  integer, intent(in) :: incdest
239  real(dp),     DEV_CONTARRD intent(in) :: tsrc(:,:)
240  complex(dpc), DEV_CONTARRD intent(inout) :: tdest(:,:)
241  !only in lobpcgwf
242  integer, intent(in),optional :: x_cplx
243 
244 !Local variables-------------------------------
245  integer  :: cplx_
246 
247 #ifdef DEV_LINALG_TIMING
248  real(dp) :: tsec(2)
249  call timab(TIMAB_XCOPY,1,tsec)
250 #endif
251 
252  cplx_=1 ; if(PRESENT(x_cplx)) cplx_ = x_cplx
253  if(cplx_ == 2) then
254     call zcopy(size,tsrc,incsrc,tdest,incdest)
255  else
256     call dcopy(size,tsrc,incsrc,tdest,incdest)
257  end if
258 
259 #ifdef DEV_LINALG_TIMING
260  call timab(TIMAB_XCOPY,2,tsec)
261 #endif
262 
263 end subroutine abi_d2zcopy_2d

m_abi_linalg/abi_dcopy [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_dcopy

FUNCTION

INPUTS

SOURCE

 88 subroutine abi_dcopy(size,tsrc,incsrc,tdest,incdest,x_cplx)
 89 
 90 !Arguments-------------------------------------
 91  integer, intent(in) :: size
 92  integer, intent(in) :: incsrc
 93  integer, intent(in) :: incdest
 94  real(dp),intent(in) :: tsrc
 95  real(dp),intent(inout) :: tdest
 96  integer, intent(in), optional :: x_cplx
 97 
 98 !Local variables-------------------------------
 99  integer  :: cplx_
100 
101 #ifdef DEV_LINALG_TIMING
102  real(dp) :: tsec(2)
103  call timab(TIMAB_XCOPY,1,tsec)
104 #endif
105 
106  cplx_=1 ; if(PRESENT(x_cplx)) cplx_ = x_cplx
107  if(cplx_ == 2) then
108     call zcopy(size,tsrc,incsrc,tdest,incdest)
109  else
110     call dcopy(size,tsrc,incsrc,tdest,incdest)
111  end if
112 
113 #ifdef DEV_LINALG_TIMING
114  call timab(TIMAB_XCOPY,2,tsec)
115 #endif
116 
117 end subroutine abi_dcopy

m_abi_linalg/abi_dcopy_0d_1d [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_dcopy_0d_1d

FUNCTION

INPUTS

SOURCE

183 subroutine abi_dcopy_0d_1d(size,tsrc,incsrc,tdest,incdest,x_cplx)
184 
185 !Arguments-------------------------------------
186  integer, intent(in) :: size
187  integer, intent(in) :: incsrc
188  integer, intent(in) :: incdest
189  real(dp),intent(in) :: tsrc
190  real(dp), intent(inout) :: tdest(*)
191  integer,intent(in), optional :: x_cplx !only lobpcgwf
192 
193  call abi_dcopy(size,tsrc,incsrc,tdest(1),incdest,x_cplx)
194 
195 end subroutine abi_dcopy_0d_1d

m_abi_linalg/abi_dcopy_1d [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_dcopy_1d

FUNCTION

INPUTS

SOURCE

130 subroutine abi_dcopy_1d(size,tsrc,incsrc,tdest,incdest,x_cplx)
131 
132 !Arguments-------------------------------------
133  integer, intent(in) :: size
134  integer, intent(in) :: incsrc
135  integer, intent(in) :: incdest
136  real(dp), intent(in)  :: tsrc(*)
137  real(dp), intent(inout) :: tdest(*)
138 !Only for lobpcgwf
139  integer, intent(in), optional :: x_cplx
140 
141  call abi_dcopy(size,tsrc(1),incsrc,tdest(1),incdest,x_cplx)
142 
143 end subroutine abi_dcopy_1d

m_abi_linalg/abi_dcopy_1d_0d [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_dcopy_1d_0d

FUNCTION

INPUTS

SOURCE

208 subroutine abi_dcopy_1d_0d(size,tsrc,incsrc,tdest,incdest,x_cplx)
209 
210  !Arguments-------------------------------------
211  integer, intent(in) :: size
212  integer, intent(in) :: incsrc
213  integer, intent(in) :: incdest
214  real(dp),intent(in) :: tsrc(*)
215  real(dp),intent(inout) :: tdest
216  integer,intent(in), optional :: x_cplx !only lobpcgwf
217 
218  call abi_dcopy(size,tsrc(1),incsrc,tdest,incdest,x_cplx)
219 
220 end subroutine abi_dcopy_1d_0d

m_abi_linalg/abi_dcopy_2d [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_dcopy_2d

FUNCTION

INPUTS

SOURCE

156 subroutine abi_dcopy_2d(size,tsrc,incsrc,tdest,incdest,x_cplx)
157 
158 !Arguments-------------------------------------
159  integer, intent(in) :: size
160  integer, intent(in) :: incsrc
161  integer, intent(in) :: incdest
162  real(dp), DEV_CONTARRD intent(in) :: tsrc(:,:)
163  real(dp), DEV_CONTARRD intent(inout) :: tdest(:,:)
164 !Only for lobpcgwf
165  integer, intent(in), optional :: x_cplx
166 
167  ! write(*,*) "dcopy2D size=",size
168  call abi_dcopy(size,tsrc(1,1),incsrc,tdest(1,1),incdest,x_cplx)
169 
170 end subroutine abi_dcopy_2d

m_abi_linalg/abi_xcopy [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

  abi_xcopy

FUNCTION

 abi_xcopy is the generic function for vector copy
 It performs the data copy: dst(1:n:incdst) = src(1:n:incsrc)

COPYRIGHT

  Copyright (C) 2001-2024 ABINIT group (LNguyen,FDahm (CS))
  This file is distributed under the terms of the
  GNU General Public License, see ~ABINIT/Infos/copyright
  or http://www.gnu.org/copyleft/gpl.txt .

SOURCE


m_abi_linalg/abi_z2dcopy_2d [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_z2dcopy_2d

FUNCTION

INPUTS

SOURCE

276 subroutine abi_z2dcopy_2d(size,tsrc,incsrc,tdest,incdest,x_cplx)
277 
278 !Arguments-------------------------------------
279  integer, intent(in) :: size
280  integer, intent(in) :: incsrc
281  integer, intent(in) :: incdest
282  complex(dpc), DEV_CONTARRD intent(in) :: tsrc(:,:)
283  real(dp),     DEV_CONTARRD intent(inout) :: tdest(:,:)
284  !only in lobpcgwf
285  integer,intent(in), optional :: x_cplx
286 
287 !Local variables-------------------------------
288  integer  :: cplx_
289 #ifdef DEV_LINALG_TIMING
290  real(dp) :: tsec(2)
291  call timab(TIMAB_XCOPY,1,tsec)
292 #endif
293 
294  cplx_=1 ; if(PRESENT(x_cplx)) cplx_ = x_cplx
295  if(cplx_ == 2) then
296     call zcopy(size,tsrc,incsrc,tdest,incdest)
297  else
298     call dcopy(size,tsrc,incsrc,tdest,incdest)
299  end if
300 
301 #ifdef DEV_LINALG_TIMING
302  call timab(TIMAB_XCOPY,2,tsec)
303 #endif
304 
305 end subroutine abi_z2dcopy_2d

m_abi_linalg/abi_zcopy [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_zcopy

FUNCTION

INPUTS

SOURCE

30 subroutine abi_zcopy(size,tsrc,incsrc,tdest,incdest)
31 
32 !Arguments-------------------------------------
33  integer, intent(in) :: size
34  integer, intent(in) :: incsrc
35  integer, intent(in) :: incdest
36  complex(dpc),intent(in) :: tsrc
37  complex(dpc),intent(inout) :: tdest
38 
39  !Local variables-------------------------------
40 #ifdef DEV_LINALG_TIMING
41  real(dp) :: tsec(2)
42  call timab(TIMAB_XCOPY,1,tsec)
43 #endif
44 
45  call zcopy(size,tsrc,incsrc,tdest,incdest)
46 
47 #ifdef DEV_LINALG_TIMING
48  call timab(TIMAB_XCOPY,2,tsec)
49 #endif
50 
51 end subroutine abi_zcopy

m_abi_linalg/abi_zcopy_1d [ Functions ]

[ Top ] [ m_abi_linalg ] [ Functions ]

NAME

 abi_zcopy_1d

FUNCTION

INPUTS

SOURCE

64 subroutine abi_zcopy_1d(size,tsrc,incsrc,tdest,incdest)
65 
66 !Arguments-------------------------------------
67  integer, intent(in) :: size
68  integer, intent(in) :: incsrc
69  integer, intent(in) :: incdest
70  complex(dpc), intent(in) :: tsrc(*)
71  complex(dpc), intent(inout) :: tdest(*)
72 
73  call abi_zcopy(size,tsrc(1),incsrc,tdest(1),incdest)
74 
75 end subroutine abi_zcopy_1d