~ubuntu-branches/ubuntu/karmic/scilab/karmic

« back to all changes in this revision

Viewing changes to routines/signal/blnumz.f

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2002-03-21 16:57:43 UTC
  • Revision ID: james.westby@ubuntu.com-20020321165743-e9mv12c1tb1plztg
Tags: upstream-2.6
ImportĀ upstreamĀ versionĀ 2.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
      subroutine blnumz(nzm,nzero,zzr,zzi,b2,b1,b0,nze)
 
2
c!but
 
3
c build numerator blocks of second order
 
4
c!
 
5
      implicit double precision (a-h,o-z)
 
6
      dimension nzm(*),nzero(*),zzr(*),zzi(*)
 
7
      double precision b0(*),b1(*),b2(*)
 
8
      dimension nze(*)
 
9
c
 
10
      n = 0
 
11
      me = nzm(4)
 
12
       do 10 i=1,me
 
13
        nze(i) = nzero(i)
 
14
  10  continue
 
15
c
 
16
      do 70 i=1,me
 
17
        qr = zzr(i)
 
18
        nz = nze(i)
 
19
c
 
20
  20    if (nz.eq.0) go to 70
 
21
        n = n + 1
 
22
        b2(n) = 1.0d+0
 
23
        if (nz.eq.1) go to 30
 
24
        b1(n) = -2.0d+0*qr
 
25
        b0(n) = 1.0d+0
 
26
        nz = nz - 2
 
27
        if (nz.gt.0) go to 20
 
28
        go to 70
 
29
c
 
30
  30    if (i.eq.me) go to 60
 
31
        ma = i + 1
 
32
         do 40 ii=ma,me
 
33
          if (zzi(ii).eq.0.0d+0) go to 50
 
34
  40    continue
 
35
        go to 60
 
36
c
 
37
  50    qrr = zzr(ii)
 
38
        b1(n) = -qr - qrr
 
39
        b0(n) = qr*qrr
 
40
        nze(ii) = nze(ii) - 1
 
41
        go to 70
 
42
c
 
43
  60    b1(n) = -qr
 
44
        b0(n) = 0.0d+0
 
45
c
 
46
  70  continue
 
47
      return
 
48
      end