|
23 | 23 | var dlamch = require( '@stdlib/lapack/base/dlamch' );
|
24 | 24 | var sqrt = require( '@stdlib/math/base/special/sqrt' );
|
25 | 25 | var abs = require( '@stdlib/math/base/special/fast/abs' );
|
26 |
| -var sign = require( '@stdlib/math/base/special/copysign' ); |
| 26 | +var hypot = require( '@stdlib/math/base/special/fast/hypot' ); |
| 27 | +var copysign = require( '@stdlib/math/base/special/copysign' ); |
27 | 28 | var min = require( '@stdlib/math/base/special/fast/min' );
|
28 |
| -var max = require( '@stdlib/math/base/special/maxn' ); |
| 29 | +var max = require( '@stdlib/math/base/special/fast/max' ); |
29 | 30 |
|
30 | 31 |
|
31 | 32 | // VARIABLES //
|
@@ -91,20 +92,20 @@ function dlartg( F, offsetF, G, offsetG, C, offsetC, S, offsetS, R, offsetR ) {
|
91 | 92 | R[ offsetR ] = F[ offsetF ];
|
92 | 93 | } else if ( F[ offsetF ] === 0.0 ) {
|
93 | 94 | C[ offsetC ] = 0.0;
|
94 |
| - S[ offsetS ] = sign( 1.0, G[ offsetG ] ); |
| 95 | + S[ offsetS ] = copysign( 1.0, G[ offsetG ] ); |
95 | 96 | R[ offsetR ] = g1;
|
96 | 97 | } else if ( f1 > rtmin && f1 < rtmax && g1 > rtmin && g1 < rtmax ) {
|
97 |
| - d = sqrt( (F[ offsetF ]*F[ offsetF ]) + (G[ offsetG ]*G[ offsetG ]) ); |
| 98 | + d = hypot( F[ offsetF ], G[ offsetG ] ); |
98 | 99 | C[ offsetC ] = f1 / d;
|
99 |
| - R[ offsetR ] = sign( d, F[ offsetF ] ); |
| 100 | + R[ offsetR ] = copysign( d, F[ offsetF ] ); |
100 | 101 | S[ offsetS ] = G[ offsetG ] / R[ offsetR ];
|
101 | 102 | } else {
|
102 |
| - u = min( safmax, max( safmin, f1, g1 ) ); |
| 103 | + u = min( safmax, max( safmin, max( f1, g1 ) ) ); |
103 | 104 | fs = F[ offsetF ] / u;
|
104 | 105 | gs = G[ offsetG ] / u;
|
105 |
| - d = sqrt( (fs*fs) + (gs*gs) ); |
| 106 | + d = hypot( fs, gs ); |
106 | 107 | C[ offsetC ] = abs( fs ) / d;
|
107 |
| - R[ offsetR ] = sign( d, F[ offsetF ] ); |
| 108 | + R[ offsetR ] = copysign( d, F[ offsetF ] ); |
108 | 109 | S[ offsetS ] = gs / R[ offsetR ];
|
109 | 110 | R[ offsetR ] *= u;
|
110 | 111 | }
|
|
0 commit comments