1 /* divset.f -- translated by f2c (version 19970211).
2    You must link the resulting object file with the libraries:
3 	-lf2c -lm   (in that order)
4 */
5 
6 #include "f2c.h"
7 
8 /* Table of constant values */
9 
10 static integer c__1 = 1;
11 
divset_(alg,iv,liv,lv,v)12 /* Subroutine */ int divset_(alg, iv, liv, lv, v)
13 integer *alg, *iv, *liv, *lv;
14 doublereal *v;
15 {
16     /* Initialized data */
17 
18     static integer miniv[4] = { 82,59,103,103 };
19     static integer minv[4] = { 98,71,101,85 };
20 
21     extern integer i7mdcn_();
22     extern /* Subroutine */ int dv7dfl_();
23     static integer mv, miv, alg1;
24 
25 
26 /*  ***  SUPPLY ***SOL (VERSION 2.3) DEFAULT VALUES TO IV AND V  *** */
27 
28 /*  ***  ALG = 1 MEANS REGRESSION CONSTANTS. */
29 /*  ***  ALG = 2 MEANS GENERAL UNCONSTRAINED OPTIMIZATION CONSTANTS. */
30 
31 
32 /* I7MDCN... RETURNS MACHINE-DEPENDENT INTEGER CONSTANTS. */
33 /* DV7DFL.... PROVIDES DEFAULT VALUES TO V. */
34 
35 
36 /*  ***  SUBSCRIPTS FOR IV  *** */
37 
38 
39 /*  ***  IV SUBSCRIPT VALUES  *** */
40 
41 /* /6 */
42 /*     DATA ALGSAV/51/, COVPRT/14/, COVREQ/15/, DRADPR/101/, DTYPE/16/, */
43 /*    1     HC/71/, IERR/75/, INITH/25/, INITS/25/, IPIVOT/76/, */
44 /*    2     IVNEED/3/, LASTIV/44/, LASTV/45/, LMAT/42/, MXFCAL/17/, */
45 /*    3     MXITER/18/, NFCOV/52/, NGCOV/53/, NVDFLT/50/, NVSAVE/9/, */
46 /*    4     OUTLEV/19/, PARPRT/20/, PARSAV/49/, PERM/58/, PRUNIT/21/, */
47 /*    5     QRTYP/80/, RDREQ/57/, RMAT/78/, SOLPRT/22/, STATPR/23/, */
48 /*    6     VNEED/4/, VSAVE/60/, X0PRT/24/ */
49 /* /7 */
50 /* / */
51     /* Parameter adjustments */
52     --iv;
53     --v;
54 
55     /* Function Body */
56 
57 /* -------------------------------  BODY  --------------------------------
58  */
59 
60     if (21 <= *liv) {
61 	iv[21] = i7mdcn_(&c__1);
62     }
63     if (51 <= *liv) {
64 	iv[51] = *alg;
65     }
66     if (*alg < 1 || *alg > 4) {
67 	goto L40;
68     }
69     miv = miniv[*alg - 1];
70     if (*liv < miv) {
71 	goto L20;
72     }
73     mv = minv[*alg - 1];
74     if (*lv < mv) {
75 	goto L30;
76     }
77     alg1 = (*alg - 1) % 2 + 1;
78     dv7dfl_(&alg1, lv, &v[1]);
79     iv[1] = 12;
80     if (*alg > 2) {
81 	iv[101] = 1;
82     }
83     iv[3] = 0;
84     iv[44] = miv;
85     iv[45] = mv;
86     iv[42] = mv + 1;
87     iv[17] = 200;
88     iv[18] = 150;
89     iv[19] = 1;
90     iv[20] = 1;
91     iv[58] = miv + 1;
92     iv[22] = 1;
93     iv[23] = 1;
94     iv[4] = 0;
95     iv[24] = 1;
96 
97     if (alg1 >= 2) {
98 	goto L10;
99     }
100 
101 /*  ***  REGRESSION  VALUES */
102 
103     iv[14] = 3;
104     iv[15] = 1;
105     iv[16] = 1;
106     iv[71] = 0;
107     iv[75] = 0;
108     iv[25] = 0;
109     iv[76] = 0;
110     iv[50] = 32;
111     iv[60] = 58;
112     if (*alg > 2) {
113 	iv[60] += 3;
114     }
115     iv[49] = iv[60] + 9;
116     iv[80] = 1;
117     iv[57] = 3;
118     iv[78] = 0;
119     goto L999;
120 
121 /*  ***  GENERAL OPTIMIZATION VALUES */
122 
123 L10:
124     iv[16] = 0;
125     iv[25] = 1;
126     iv[52] = 0;
127     iv[53] = 0;
128     iv[50] = 25;
129     iv[49] = 47;
130     if (*alg > 2) {
131 	iv[49] = 61;
132     }
133     goto L999;
134 
135 L20:
136     iv[1] = 15;
137     goto L999;
138 
139 L30:
140     iv[1] = 16;
141     goto L999;
142 
143 L40:
144     iv[1] = 67;
145 
146 L999:
147     return 0;
148 /*  ***  LAST CARD OF DIVSET FOLLOWS  *** */
149 } /* divset_ */
150 
151