~ubuntu-branches/ubuntu/wily/julia/wily

« back to all changes in this revision

Viewing changes to deps/openlibm/slatec/fulmat.f

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot
  • Date: 2013-01-16 12:29:42 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130116122942-x86e42akjq31repw
Tags: 0.0.0+20130107.gitd9656f41-1
* New upstream snashot
* No longer try to rebuild helpdb.jl.
   + debian/rules: remove helpdb.jl from build-arch rule
   + debian/control: move back python-sphinx to Build-Depends-Indep
* debian/copyright: reflect upstream changes
* Add Build-Conflicts on libatlas3-base (makes linalg tests fail)
* debian/rules: replace obsolete USE_DEBIAN makeflag by a list of
  USE_SYSTEM_* flags
* debian/rules: on non-x86 systems, use libm instead of openlibm
* dpkg-buildflags.patch: remove patch, applied upstream
* Refreshed other patches

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
*DECK FULMAT
 
2
      SUBROUTINE FULMAT (I, J, AIJ, INDCAT, PRGOPT, DATTRV, IFLAG)
 
3
C***BEGIN PROLOGUE  FULMAT
 
4
C***SUBSIDIARY
 
5
C***PURPOSE  Subsidiary to SPLP
 
6
C***LIBRARY   SLATEC
 
7
C***TYPE      SINGLE PRECISION (FULMAT-S, DFULMT-D)
 
8
C***AUTHOR  (UNKNOWN)
 
9
C***DESCRIPTION
 
10
C
 
11
C     DECODES A STANDARD TWO-DIMENSIONAL FORTRAN ARRAY PASSED
 
12
C     IN THE ARRAY DATTRV(IA,*).  THE ROW DIMENSION IA AND THE
 
13
C     MATRIX DIMENSIONS MRELAS AND NVARS MUST SIMULTANEOUSLY BE
 
14
C     PASSED USING THE OPTION ARRAY, PRGOPT(*).  IT IS AN ERROR
 
15
C     IF THIS DATA IS NOT PASSED TO FULMAT( ).
 
16
C     EXAMPLE-- (FOR USE TOGETHER WITH SPLP().)
 
17
C      EXTERNAL USRMAT
 
18
C      DIMENSION DATTRV(IA,*)
 
19
C      PRGOPT(01)=7
 
20
C      PRGOPT(02)=68
 
21
C      PRGOPT(03)=1
 
22
C      PRGOPT(04)=IA
 
23
C      PRGOPT(05)=MRELAS
 
24
C      PRGOPT(06)=NVARS
 
25
C      PRGOPT(07)=1
 
26
C     CALL SPLP(  ... FULMAT INSTEAD OF USRMAT...)
 
27
C
 
28
C***SEE ALSO  SPLP
 
29
C***ROUTINES CALLED  XERMSG
 
30
C***REVISION HISTORY  (YYMMDD)
 
31
C   811215  DATE WRITTEN
 
32
C   891214  Prologue converted to Version 4.0 format.  (BAB)
 
33
C   900315  CALLs to XERROR changed to CALLs to XERMSG.  (THJ)
 
34
C   900328  Added TYPE section.  (WRB)
 
35
C***END PROLOGUE  FULMAT
 
36
      REAL            AIJ,ZERO,DATTRV(*),PRGOPT(*)
 
37
      INTEGER IFLAG(10)
 
38
      SAVE ZERO
 
39
C***FIRST EXECUTABLE STATEMENT  FULMAT
 
40
      IF (.NOT.(IFLAG(1).EQ.1)) GO TO 50
 
41
C     INITIALIZE POINTERS TO PROCESS FULL TWO-DIMENSIONAL FORTRAN
 
42
C     ARRAYS.
 
43
      ZERO = 0.
 
44
      LP = 1
 
45
   10 NEXT = PRGOPT(LP)
 
46
      IF (.NOT.(NEXT.LE.1)) GO TO 20
 
47
      NERR = 29
 
48
      LEVEL = 1
 
49
      CALL XERMSG ('SLATEC', 'FULMAT',
 
50
     +   'IN SPLP PACKAGE, ROW DIM., MRELAS, NVARS ARE MISSING FROM ' //
 
51
     +   'PRGOPT.', NERR, LEVEL)
 
52
      IFLAG(1) = 3
 
53
      GO TO 110
 
54
   20 KEY = PRGOPT(LP+1)
 
55
      IF (.NOT.(KEY.NE.68)) GO TO 30
 
56
      LP = NEXT
 
57
      GO TO 10
 
58
   30 IF (.NOT.(PRGOPT(LP+2).EQ.ZERO)) GO TO 40
 
59
      LP = NEXT
 
60
      GO TO 10
 
61
   40 IFLAG(2) = 1
 
62
      IFLAG(3) = 1
 
63
      IFLAG(4) = PRGOPT(LP+3)
 
64
      IFLAG(5) = PRGOPT(LP+4)
 
65
      IFLAG(6) = PRGOPT(LP+5)
 
66
      GO TO 110
 
67
   50 IF (.NOT.(IFLAG(1).EQ.2)) GO TO 100
 
68
   60 I = IFLAG(2)
 
69
      J = IFLAG(3)
 
70
      IF (.NOT.(J.GT.IFLAG(6))) GO TO 70
 
71
      IFLAG(1) = 3
 
72
      GO TO 110
 
73
   70 IF (.NOT.(I.GT.IFLAG(5))) GO TO 80
 
74
      IFLAG(2) = 1
 
75
      IFLAG(3) = J + 1
 
76
      GO TO 60
 
77
   80 AIJ = DATTRV(IFLAG(4)*(J-1)+I)
 
78
      IFLAG(2) = I + 1
 
79
      IF (.NOT.(AIJ.EQ.ZERO)) GO TO 90
 
80
      GO TO 60
 
81
   90 INDCAT = 0
 
82
      GO TO 110
 
83
  100 CONTINUE
 
84
  110 RETURN
 
85
      END