1acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* drotm.f -- translated by f2c (version 20100827).
2acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray   You must link the resulting object file with libf2c:
3acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	on Microsoft Windows system, link with libf2c.lib;
4acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	on Linux or Unix systems, link with .../path/to/libf2c.a -lm
5acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	or, if you install libf2c.a in a standard place, with -lf2c -lm
6acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	-- in that order, at the end of the command line, as in
7acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray		cc *.o -lf2c -lm
8acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
9acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
10acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray		http://www.netlib.org/f2c/libf2c.zip
11acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray*/
12acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
13acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray#include "datatypes.h"
14acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
15acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* Subroutine */ int drotm_(integer *n, doublereal *dx, integer *incx,
16acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	doublereal *dy, integer *incy, doublereal *dparam)
17acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray{
18acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    /* Initialized data */
19acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
20acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    static doublereal zero = 0.;
21acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    static doublereal two = 2.;
22acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
23acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    /* System generated locals */
24acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    integer i__1, i__2;
25acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
26acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    /* Local variables */
27acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    integer i__;
28acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    doublereal w, z__;
29acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    integer kx, ky;
30acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    doublereal dh11, dh12, dh21, dh22, dflag;
31acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    integer nsteps;
32acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
33acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     .. Scalar Arguments .. */
34acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     .. */
35acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     .. Array Arguments .. */
36acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     .. */
37acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
38acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  Purpose */
39acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  ======= */
40acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
41acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX */
42acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
43acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     (DX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF DX ARE IN */
44acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     (DY**T) */
45acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
46acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     DX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX .GE. 0, ELSE */
47acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     LX = (-INCX)*N, AND SIMILARLY FOR SY USING LY AND INCY. */
48acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS.. */
49acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
50acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     DFLAG=-1.D0     DFLAG=0.D0        DFLAG=1.D0     DFLAG=-2.D0 */
51acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
52acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*       (DH11  DH12)    (1.D0  DH12)    (DH11  1.D0)    (1.D0  0.D0) */
53acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     H=(          )    (          )    (          )    (          ) */
54acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*       (DH21  DH22),   (DH21  1.D0),   (-1.D0 DH22),   (0.D0  1.D0). */
55acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     SEE DROTMG FOR A DESCRIPTION OF DATA STORAGE IN DPARAM. */
56acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
57acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  Arguments */
58acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  ========= */
59acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
60acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  N      (input) INTEGER */
61acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*         number of elements in input vector(s) */
62acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
63acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  DX     (input/output) DOUBLE PRECISION array, dimension N */
64acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*         double precision vector with N elements */
65acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
66acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  INCX   (input) INTEGER */
67acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*         storage spacing between elements of DX */
68acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
69acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  DY     (input/output) DOUBLE PRECISION array, dimension N */
70acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*         double precision vector with N elements */
71acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
72acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  INCY   (input) INTEGER */
73acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*         storage spacing between elements of DY */
74acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
75acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  DPARAM (input/output)  DOUBLE PRECISION array, dimension 5 */
76acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     DPARAM(1)=DFLAG */
77acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     DPARAM(2)=DH11 */
78acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     DPARAM(3)=DH21 */
79acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     DPARAM(4)=DH12 */
80acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     DPARAM(5)=DH22 */
81acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
82acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*  ===================================================================== */
83acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
84acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     .. Local Scalars .. */
85acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     .. */
86acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     .. Data statements .. */
87acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    /* Parameter adjustments */
88acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    --dparam;
89acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    --dy;
90acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    --dx;
91acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
92acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    /* Function Body */
93acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/*     .. */
94acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
95acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dflag = dparam[1];
96acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    if (*n <= 0 || dflag + two == zero) {
97acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	goto L140;
98acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
99acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    if (! (*incx == *incy && *incx > 0)) {
100acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	goto L70;
101acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
102acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
103acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    nsteps = *n * *incx;
104acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    if (dflag < 0.) {
105acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	goto L50;
106acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    } else if (dflag == 0) {
107acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	goto L10;
108acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    } else {
109acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	goto L30;
110acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
111acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL10:
112acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh12 = dparam[4];
113acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh21 = dparam[3];
114acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__1 = nsteps;
115acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__2 = *incx;
116acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) {
117acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	w = dx[i__];
118acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	z__ = dy[i__];
119acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dx[i__] = w + z__ * dh12;
120acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dy[i__] = w * dh21 + z__;
121acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* L20: */
122acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
123acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    goto L140;
124acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL30:
125acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh11 = dparam[2];
126acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh22 = dparam[5];
127acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__2 = nsteps;
128acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__1 = *incx;
129acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    for (i__ = 1; i__1 < 0 ? i__ >= i__2 : i__ <= i__2; i__ += i__1) {
130acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	w = dx[i__];
131acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	z__ = dy[i__];
132acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dx[i__] = w * dh11 + z__;
133acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dy[i__] = -w + dh22 * z__;
134acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* L40: */
135acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
136acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    goto L140;
137acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL50:
138acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh11 = dparam[2];
139acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh12 = dparam[4];
140acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh21 = dparam[3];
141acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh22 = dparam[5];
142acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__1 = nsteps;
143acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__2 = *incx;
144acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) {
145acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	w = dx[i__];
146acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	z__ = dy[i__];
147acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dx[i__] = w * dh11 + z__ * dh12;
148acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dy[i__] = w * dh21 + z__ * dh22;
149acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* L60: */
150acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
151acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    goto L140;
152acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL70:
153acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    kx = 1;
154acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    ky = 1;
155acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    if (*incx < 0) {
156acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	kx = (1 - *n) * *incx + 1;
157acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
158acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    if (*incy < 0) {
159acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	ky = (1 - *n) * *incy + 1;
160acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
161acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
162acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    if (dflag < 0.) {
163acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	goto L120;
164acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    } else if (dflag == 0) {
165acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	goto L80;
166acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    } else {
167acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	goto L100;
168acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
169acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL80:
170acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh12 = dparam[4];
171acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh21 = dparam[3];
172acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__2 = *n;
173acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    for (i__ = 1; i__ <= i__2; ++i__) {
174acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	w = dx[kx];
175acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	z__ = dy[ky];
176acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dx[kx] = w + z__ * dh12;
177acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dy[ky] = w * dh21 + z__;
178acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	kx += *incx;
179acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	ky += *incy;
180acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* L90: */
181acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
182acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    goto L140;
183acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL100:
184acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh11 = dparam[2];
185acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh22 = dparam[5];
186acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__2 = *n;
187acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    for (i__ = 1; i__ <= i__2; ++i__) {
188acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	w = dx[kx];
189acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	z__ = dy[ky];
190acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dx[kx] = w * dh11 + z__;
191acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dy[ky] = -w + dh22 * z__;
192acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	kx += *incx;
193acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	ky += *incy;
194acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* L110: */
195acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
196acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    goto L140;
197acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL120:
198acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh11 = dparam[2];
199acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh12 = dparam[4];
200acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh21 = dparam[3];
201acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    dh22 = dparam[5];
202acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    i__2 = *n;
203acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    for (i__ = 1; i__ <= i__2; ++i__) {
204acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	w = dx[kx];
205acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	z__ = dy[ky];
206acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dx[kx] = w * dh11 + z__ * dh12;
207acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	dy[ky] = w * dh21 + z__ * dh22;
208acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	kx += *incx;
209acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray	ky += *incy;
210acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* L130: */
211acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    }
212acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL140:
213acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray    return 0;
214acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray} /* drotm_ */
215acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray
216