~ubuntu-branches/ubuntu/trusty/nwchem/trusty-proposed

« back to all changes in this revision

Viewing changes to src/tools/ga-5-1/armci/src-gemini/fcopy.f

  • Committer: Package Import Robot
  • Author(s): Michael Banck, Daniel Leidert, Andreas Tille, Michael Banck
  • Date: 2013-07-04 12:14:55 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130704121455-5tvsx2qabor3nrui
Tags: 6.3-1
* New upstream release.
* Fixes anisotropic properties (Closes: #696361).
* New features include:
  + Multi-reference coupled cluster (MRCC) approaches
  + Hybrid DFT calculations with short-range HF 
  + New density-functionals including Minnesota (M08, M11) and HSE hybrid
    functionals
  + X-ray absorption spectroscopy (XAS) with TDDFT
  + Analytical gradients for the COSMO solvation model
  + Transition densities from TDDFT 
  + DFT+U and Electron-Transfer (ET) methods for plane wave calculations
  + Exploitation of space group symmetry in plane wave geometry optimizations
  + Local density of states (LDOS) collective variable added to Metadynamics
  + Various new XC functionals added for plane wave calculations, including
    hybrid and range-corrected ones
  + Electric field gradients with relativistic corrections 
  + Nudged Elastic Band optimization method
  + Updated basis sets and ECPs 

[ Daniel Leidert ]
* debian/watch: Fixed.

[ Andreas Tille ]
* debian/upstream: References

[ Michael Banck ]
* debian/upstream (Name): New field.
* debian/patches/02_makefile_flags.patch: Refreshed.
* debian/patches/06_statfs_kfreebsd.patch: Likewise.
* debian/patches/07_ga_target_force_linux.patch: Likewise.
* debian/patches/05_avoid_inline_assembler.patch: Removed, no longer needed.
* debian/patches/09_backported_6.1.1_fixes.patch: Likewise.
* debian/control (Build-Depends): Added gfortran-4.7 and gcc-4.7.
* debian/patches/10_force_gcc-4.7.patch: New patch, explicitly sets
  gfortran-4.7 and gcc-4.7, fixes test suite hang with gcc-4.8 (Closes:
  #701328, #713262).
* debian/testsuite: Added tests for COSMO analytical gradients and MRCC.
* debian/rules (MRCC_METHODS): New variable, required to enable MRCC methods.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
      subroutine dcopy21(rows, cols, A, ald, buf, cur)
2
 
      integer rows, cols
3
 
      integer c, r, ald, cur 
4
 
      double precision A(ald,*), buf(ald) 
5
 
      cur = 0
6
 
      do c = 1, cols
7
 
         do r = 1, rows
8
 
            cur = cur+1
9
 
            buf(cur) = A(r,c)
10
 
         end do
11
 
      end do
12
 
      end
13
 
 
14
 
      subroutine dcopy31(rows, cols, planes, A, aldr, aldc, buf, cur)
15
 
      integer rows, cols, planes
16
 
      integer c, r, p, aldr, aldc, cur
17
 
      double precision A(aldr, aldc, *), buf(aldr)
18
 
      cur = 0
19
 
      do p = 1, planes 
20
 
         do c = 1, cols
21
 
            do r = 1, rows
22
 
               cur = cur+1
23
 
               buf(cur) = A(r,c,p)
24
 
            end do
25
 
         end do
26
 
      end do
27
 
      end
28
 
 
29
 
      subroutine dcopy12(rows, cols, A, ald, buf, cur)
30
 
      integer rows, cols
31
 
      integer c, r, ald, cur
32
 
      double precision A(ald,*), buf(ald)
33
 
      cur = 0
34
 
      do c = 1, cols
35
 
         do r = 1, rows
36
 
            cur = cur+1
37
 
            A(r,c) = buf(cur)
38
 
         end do
39
 
      end do
40
 
      end
41
 
 
42
 
      subroutine dcopy13(rows, cols, planes, A, aldr, aldc, buf, cur)
43
 
      integer rows, cols, planes
44
 
      integer c, r, p, aldr, aldc, cur
45
 
      double precision A(aldr, aldc, *), buf(aldr)
46
 
      cur = 0
47
 
      do p = 1, planes
48
 
         do c = 1, cols
49
 
            do r = 1, rows
50
 
               cur = cur+1
51
 
               A(r,c,p) = buf(cur)
52
 
            end do
53
 
         end do
54
 
      end do
55
 
      end
56
 
 
57
 
 
58
 
      subroutine dcopy2d_n(rows, cols, A, ald, B, bld)
59
 
      integer rows, cols
60
 
      integer c, r, ald, bld
61
 
      double precision A(ald,*), B(bld,*)
62
 
      do c = 1, cols
63
 
         do r = 1, rows
64
 
            B(r,c) = A(r,c)
65
 
         end do
66
 
      end do
67
 
      end
68
 
 
69
 
      
70
 
 
71
 
      subroutine dcopy2d_u(rows, cols, A, ald, B, bld)
72
 
      integer rows, cols
73
 
      integer c, r, ald, bld
74
 
      double precision A(ald,*), B(bld,*)
75
 
      integer r1
76
 
      double precision d1, d2, d3, d4
77
 
      do c = 1, cols
78
 
      r1 = iand(max0(rows,0),3)
79
 
      do r = 1, r1
80
 
c$$$         b(r,c) = a(r,c) + b(r,c) * 0
81
 
         b(r,c) = a(r,c)
82
 
      end do
83
 
      do r = r1 + 1, rows, 4
84
 
         d1 = a(r,c)
85
 
         d2 = a(r+1,c)
86
 
         d3 = a(r+2,c)
87
 
         d4 = a(r+3,c)
88
 
         b(r,c) = d1
89
 
         b(r+1,c) = d2
90
 
         b(r+2,c) = d3
91
 
         b(r+3,c) = d4
92
 
c$$$         b(r,c) = a(r,c) + b(r,c) * 0
93
 
c$$$         b(r+1,c) = a(r+1,c) + b(r+1,c) * 0
94
 
c$$$         b(r+2,c) = a(r+2,c) + b(r+2,c) * 0
95
 
c$$$         b(r+3,c) = a(r+3,c) + b(r+3,c) * 0
96
 
      enddo
97
 
      enddo
98
 
      end
99
 
 
100
 
      subroutine dcopy1d_n(A, B, n)
101
 
      integer n,i 
102
 
      double precision A(n), B(n)
103
 
ccdir$ no_cache_alloc a,b
104
 
      do i = 1, n 
105
 
            B(i) = A(i)
106
 
      end do
107
 
      end
108
 
 
109
 
      subroutine dcopy1d_u(A, B, n)
110
 
      integer n,n1,i
111
 
      double precision A(n), B(n)
112
 
      double precision d1, d2, d3, d4
113
 
      n1 = iand(max0(n,0),3)
114
 
      do i = 1, n1
115
 
            B(i) = A(i)
116
 
      end do
117
 
      do i = n1+1, n, 4
118
 
         d1 = a(i)
119
 
         d2 = a(i+1)
120
 
         d3 = a(i+2)
121
 
         d4 = a(i+3)
122
 
         b(i) = d1
123
 
         b(i+1) = d2
124
 
         b(i+2) = d3
125
 
         b(i+3) = d4
126
 
      end do
127
 
      end
128