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

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2007-01-07 14:12:12 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20070107141212-mm0ebkh5b37hcpzn
* Remove build dependency on python-numpy-dev.
* python-scipy: Depend on python-numpy instead of python-numpy-dev.
* Package builds on other archs than i386. Closes: #402783.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine fpadno(maxtr,up,left,right,info,count,merk,jbind,
 
2
     * n1,ier)
 
3
c  subroutine fpadno adds a branch of length n1 to the triply linked
 
4
c  tree,the information of which is kept in the arrays up,left,right
 
5
c  and info. the information field of the nodes of this new branch is
 
6
c  given in the array jbind. in linking the new branch fpadno takes
 
7
c  account of the property of the tree that
 
8
c    info(k) < info(right(k)) ; info(k) < info(left(k))
 
9
c  if necessary the subroutine calls subroutine fpfrno to collect the
 
10
c  free nodes of the tree. if no computer words are available at that
 
11
c  moment, the error parameter ier is set to 1.
 
12
c  ..
 
13
c  ..scalar arguments..
 
14
      integer maxtr,count,merk,n1,ier
 
15
c  ..array arguments..
 
16
      integer up(maxtr),left(maxtr),right(maxtr),info(maxtr),jbind(n1)
 
17
c  ..local scalars..
 
18
      integer k,niveau,point
 
19
      logical bool
 
20
c  ..subroutine references..
 
21
c    fpfrno
 
22
c  ..
 
23
      point = 1
 
24
      niveau = 1
 
25
  10  k = left(point)
 
26
      bool = .true.
 
27
  20  if(k.eq.0) go to 50
 
28
      if (info(k)-jbind(niveau).lt.0) go to 30
 
29
      if (info(k)-jbind(niveau).eq.0) go to 40
 
30
      go to 50
 
31
  30  point = k
 
32
      k = right(point)
 
33
      bool = .false.
 
34
      go to 20
 
35
  40  point = k
 
36
      niveau = niveau+1
 
37
      go to 10
 
38
  50  if(niveau.gt.n1) go to 90
 
39
      count = count+1
 
40
      if(count.le.maxtr) go to 60
 
41
      call fpfrno(maxtr,up,left,right,info,point,merk,n1,count,ier)
 
42
      if(ier.ne.0) go to 100
 
43
  60  info(count) = jbind(niveau)
 
44
      left(count) = 0
 
45
      right(count) = k
 
46
      if(bool) go to 70
 
47
      bool = .true.
 
48
      right(point) = count
 
49
      up(count) = up(point)
 
50
      go to 80
 
51
  70  up(count) = point
 
52
      left(point) = count
 
53
  80  point = count
 
54
      niveau = niveau+1
 
55
      k = 0
 
56
      go to 50
 
57
  90  ier = 0
 
58
 100  return
 
59
      end