1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #include "slatec-internal.hpp"
- double zabs_(double const *zr, double const *zi)
- {
-
- double ret_val;
-
- double q, s, u, v;
- u = abs(*zr);
- v = abs(*zi);
- s = u + v;
- s *= 1.;
- if (s == 0.) {
- goto L20;
- }
- if (u > v) {
- goto L10;
- }
- q = u / v;
- ret_val = v * sqrt(q * q + 1.);
- return ret_val;
- L10:
- q = v / u;
- ret_val = u * sqrt(q * q + 1.);
- return ret_val;
- L20:
- ret_val = 0.;
- return ret_val;
- }
|