~ubuntu-branches/ubuntu/oneiric/python-scipy/oneiric-proposed

« back to all changes in this revision

Viewing changes to Lib/sandbox/spline/fitpack/fpsuev.f

  • Committer: Bazaar Package Importer
  • Author(s): Ondrej Certik
  • Date: 2008-06-16 22:58:01 UTC
  • mfrom: (2.1.24 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080616225801-irdhrpcwiocfbcmt
Tags: 0.6.0-12
* The description updated to match the current SciPy (Closes: #489149).
* Standards-Version bumped to 3.8.0 (no action needed)
* Build-Depends: netcdf-dev changed to libnetcdf-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
      subroutine fpsuev(idim,tu,nu,tv,nv,c,u,mu,v,mv,f,wu,wv,lu,lv)
2
 
c  ..scalar arguments..
3
 
      integer idim,nu,nv,mu,mv
4
 
c  ..array arguments..
5
 
      integer lu(mu),lv(mv)
6
 
      real*8 tu(nu),tv(nv),c((nu-4)*(nv-4)*idim),u(mu),v(mv),
7
 
     * f(mu*mv*idim),wu(mu,4),wv(mv,4)
8
 
c  ..local scalars..
9
 
      integer i,i1,j,j1,k,l,l1,l2,l3,m,nuv,nu4,nv4
10
 
      real*8 arg,sp,tb,te
11
 
c  ..local arrays..
12
 
      real*8 h(4)
13
 
c  ..subroutine references..
14
 
c    fpbspl
15
 
c  ..
16
 
      nu4 = nu-4
17
 
      tb = tu(4)
18
 
      te = tu(nu4+1)
19
 
      l = 4
20
 
      l1 = l+1
21
 
      do 40 i=1,mu
22
 
        arg = u(i)
23
 
        if(arg.lt.tb) arg = tb
24
 
        if(arg.gt.te) arg = te
25
 
  10    if(arg.lt.tu(l1) .or. l.eq.nu4) go to 20
26
 
        l = l1
27
 
        l1 = l+1
28
 
        go to 10
29
 
  20    call fpbspl(tu,nu,3,arg,l,h)
30
 
        lu(i) = l-4
31
 
        do 30 j=1,4
32
 
          wu(i,j) = h(j)
33
 
  30    continue
34
 
  40  continue
35
 
      nv4 = nv-4
36
 
      tb = tv(4)
37
 
      te = tv(nv4+1)
38
 
      l = 4
39
 
      l1 = l+1
40
 
      do 80 i=1,mv
41
 
        arg = v(i)
42
 
        if(arg.lt.tb) arg = tb
43
 
        if(arg.gt.te) arg = te
44
 
  50    if(arg.lt.tv(l1) .or. l.eq.nv4) go to 60
45
 
        l = l1
46
 
        l1 = l+1
47
 
        go to 50
48
 
  60    call fpbspl(tv,nv,3,arg,l,h)
49
 
        lv(i) = l-4
50
 
        do 70 j=1,4
51
 
          wv(i,j) = h(j)
52
 
  70    continue
53
 
  80  continue
54
 
      m = 0
55
 
      nuv = nu4*nv4
56
 
      do 140 k=1,idim
57
 
        l3 = (k-1)*nuv
58
 
        do 130 i=1,mu
59
 
          l = lu(i)*nv4+l3
60
 
          do 90 i1=1,4
61
 
            h(i1) = wu(i,i1)
62
 
  90      continue
63
 
          do 120 j=1,mv
64
 
            l1 = l+lv(j)
65
 
            sp = 0.
66
 
            do 110 i1=1,4
67
 
              l2 = l1
68
 
              do 100 j1=1,4
69
 
                l2 = l2+1
70
 
                sp = sp+c(l2)*h(i1)*wv(j,j1)
71
 
 100          continue
72
 
              l1 = l1+nv4
73
 
 110        continue
74
 
            m = m+1
75
 
            f(m) = sp
76
 
 120      continue
77
 
 130    continue
78
 
 140  continue
79
 
      return
80
 
      end