1acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* drotmg.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 drotmg_(doublereal *dd1, doublereal *dd2, doublereal * 16acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dx1, doublereal *dy1, doublereal *dparam) 17acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray{ 18acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray /* Initialized data */ 19acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 20acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static doublereal zero = 0.; 21acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static doublereal one = 1.; 22acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static doublereal two = 2.; 23acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static doublereal gam = 4096.; 24acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static doublereal gamsq = 16777216.; 25acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static doublereal rgamsq = 5.9604645e-8; 26acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 27acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray /* Format strings */ 28acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static char fmt_120[] = ""; 29acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static char fmt_150[] = ""; 30acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static char fmt_180[] = ""; 31acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static char fmt_210[] = ""; 32acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 33acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray /* System generated locals */ 34acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray doublereal d__1; 35acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 36acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray /* Local variables */ 37acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray doublereal du, dp1, dp2, dq1, dq2, dh11, dh12, dh21, dh22; 38acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray integer igo; 39acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray doublereal dflag, dtemp; 40acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 41acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray /* Assigned format variables */ 42acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray static char *igo_fmt; 43acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 44acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. Scalar Arguments .. */ 45acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. */ 46acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. Array Arguments .. */ 47acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. */ 48acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 49acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* Purpose */ 50acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* ======= */ 51acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 52acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS */ 53acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* THE SECOND COMPONENT OF THE 2-VECTOR (DSQRT(DD1)*DX1,DSQRT(DD2)* */ 54acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DY2)**T. */ 55acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS.. */ 56acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 57acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DFLAG=-1.D0 DFLAG=0.D0 DFLAG=1.D0 DFLAG=-2.D0 */ 58acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 59acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* (DH11 DH12) (1.D0 DH12) (DH11 1.D0) (1.D0 0.D0) */ 60acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* H=( ) ( ) ( ) ( ) */ 61acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* (DH21 DH22), (DH21 1.D0), (-1.D0 DH22), (0.D0 1.D0). */ 62acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* LOCATIONS 2-4 OF DPARAM CONTAIN DH11, DH21, DH12, AND DH22 */ 63acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* RESPECTIVELY. (VALUES OF 1.D0, -1.D0, OR 0.D0 IMPLIED BY THE */ 64acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* VALUE OF DPARAM(1) ARE NOT STORED IN DPARAM.) */ 65acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 66acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE */ 67acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE */ 68acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* OF DD1 AND DD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM. */ 69acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 70acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 71acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* Arguments */ 72acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* ========= */ 73acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 74acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DD1 (input/output) DOUBLE PRECISION */ 75acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 76acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DD2 (input/output) DOUBLE PRECISION */ 77acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 78acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DX1 (input/output) DOUBLE PRECISION */ 79acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 80acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DY1 (input) DOUBLE PRECISION */ 81acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 82acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DPARAM (input/output) DOUBLE PRECISION array, dimension 5 */ 83acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DPARAM(1)=DFLAG */ 84acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DPARAM(2)=DH11 */ 85acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DPARAM(3)=DH21 */ 86acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DPARAM(4)=DH12 */ 87acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* DPARAM(5)=DH22 */ 88acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 89acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* ===================================================================== */ 90acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 91acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. Local Scalars .. */ 92acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. */ 93acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. Intrinsic Functions .. */ 94acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. */ 95acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. Data statements .. */ 96acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 97acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray /* Parameter adjustments */ 98acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray --dparam; 99acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 100acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray /* Function Body */ 101acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* .. */ 102acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (*dd1 < zero)) { 103acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L10; 104acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 105acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* GO ZERO-H-D-AND-DX1.. */ 106acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L60; 107acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL10: 108acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* CASE-DD1-NONNEGATIVE */ 109acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dp2 = *dd2 * *dy1; 110acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (dp2 == zero)) { 111acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L20; 112acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 113acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dflag = -two; 114acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L260; 115acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* REGULAR-CASE.. */ 116acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL20: 117acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dp1 = *dd1 * *dx1; 118acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dq2 = dp2 * *dy1; 119acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dq1 = dp1 * *dx1; 120acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 121acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (abs(dq1) > abs(dq2))) { 122acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L40; 123acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 124acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh21 = -(*dy1) / *dx1; 125acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh12 = dp2 / dp1; 126acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 127acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray du = one - dh12 * dh21; 128acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 129acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (du <= zero)) { 130acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L30; 131acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 132acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* GO ZERO-H-D-AND-DX1.. */ 133acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L60; 134acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL30: 135acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dflag = zero; 136acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd1 /= du; 137acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd2 /= du; 138acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dx1 *= du; 139acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* GO SCALE-CHECK.. */ 140acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L100; 141acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL40: 142acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (dq2 < zero)) { 143acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L50; 144acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 145acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* GO ZERO-H-D-AND-DX1.. */ 146acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L60; 147acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL50: 148acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dflag = one; 149acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh11 = dp1 / dp2; 150acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh22 = *dx1 / *dy1; 151acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray du = one + dh11 * dh22; 152acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dtemp = *dd2 / du; 153acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd2 = *dd1 / du; 154acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd1 = dtemp; 155acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dx1 = *dy1 * du; 156acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* GO SCALE-CHECK */ 157acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L100; 158acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* PROCEDURE..ZERO-H-D-AND-DX1.. */ 159acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL60: 160acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dflag = -one; 161acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh11 = zero; 162acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh12 = zero; 163acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh21 = zero; 164acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh22 = zero; 165acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 166acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd1 = zero; 167acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd2 = zero; 168acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dx1 = zero; 169acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* RETURN.. */ 170acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L220; 171acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* PROCEDURE..FIX-H.. */ 172acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL70: 173acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (dflag >= zero)) { 174acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L90; 175acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 176acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 177acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (dflag == zero)) { 178acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L80; 179acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 180acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh11 = one; 181acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh22 = one; 182acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dflag = -one; 183acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L90; 184acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL80: 185acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh21 = -one; 186acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh12 = one; 187acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dflag = -one; 188acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL90: 189acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray switch (igo) { 190acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray case 0: goto L120; 191acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray case 1: goto L150; 192acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray case 2: goto L180; 193acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray case 3: goto L210; 194acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 195acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* PROCEDURE..SCALE-CHECK */ 196acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL100: 197acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL110: 198acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (*dd1 <= rgamsq)) { 199acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L130; 200acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 201acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (*dd1 == zero) { 202acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L160; 203acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 204acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray igo = 0; 205acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray igo_fmt = fmt_120; 206acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* FIX-H.. */ 207acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L70; 208acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL120: 209acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* Computing 2nd power */ 210acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray d__1 = gam; 211acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd1 *= d__1 * d__1; 212acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dx1 /= gam; 213acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh11 /= gam; 214acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh12 /= gam; 215acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L110; 216acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL130: 217acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL140: 218acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (*dd1 >= gamsq)) { 219acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L160; 220acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 221acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray igo = 1; 222acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray igo_fmt = fmt_150; 223acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* FIX-H.. */ 224acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L70; 225acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL150: 226acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* Computing 2nd power */ 227acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray d__1 = gam; 228acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd1 /= d__1 * d__1; 229acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dx1 *= gam; 230acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh11 *= gam; 231acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh12 *= gam; 232acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L140; 233acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL160: 234acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL170: 235acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (abs(*dd2) <= rgamsq)) { 236acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L190; 237acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 238acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (*dd2 == zero) { 239acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L220; 240acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 241acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray igo = 2; 242acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray igo_fmt = fmt_180; 243acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* FIX-H.. */ 244acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L70; 245acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL180: 246acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* Computing 2nd power */ 247acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray d__1 = gam; 248acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd2 *= d__1 * d__1; 249acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh21 /= gam; 250acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh22 /= gam; 251acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L170; 252acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL190: 253acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL200: 254acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (! (abs(*dd2) >= gamsq)) { 255acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L220; 256acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 257acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray igo = 3; 258acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray igo_fmt = fmt_210; 259acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* FIX-H.. */ 260acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L70; 261acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL210: 262acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray/* Computing 2nd power */ 263acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray d__1 = gam; 264acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray *dd2 /= d__1 * d__1; 265acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh21 *= gam; 266acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dh22 *= gam; 267acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L200; 268acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL220: 269acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray if (dflag < 0.) { 270acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L250; 271acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } else if (dflag == 0) { 272acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L230; 273acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } else { 274acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L240; 275acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray } 276acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL230: 277acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[3] = dh21; 278acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[4] = dh12; 279acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L260; 280acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL240: 281acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[2] = dh11; 282acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[5] = dh22; 283acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray goto L260; 284acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL250: 285acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[2] = dh11; 286acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[3] = dh21; 287acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[4] = dh12; 288acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[5] = dh22; 289acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim MurrayL260: 290acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray dparam[1] = dflag; 291acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray return 0; 292acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray} /* drotmg_ */ 293acf83bd421067e7a2b828c5fe61594a4fda5e9a5Tim Murray 294