pythag.c

来自「InsightToolkit-1.4.0(有大量的优化算法程序)」· C语言 代码 · 共 29 行

C
29
字号
#include "f2c.h"
#include "netlib.h"

doublereal pythag_(a, b)
const doublereal *a, *b;
{
    /* Local variables */
    static doublereal p, r, s, t, u;

/* ********************************************************************** */
/*     finds sqrt(a**2+b**2) without overflow or destructive underflow    */
/* ********************************************************************** */

    p = max(abs(*a),abs(*b));
    if (p == 0.) {
        return p;
    }
    r = min(abs(*a),abs(*b)) / p;
    r *= r;
    while ((t = r+4.) != 4.) {
        s = r / t;
        u = s * 2. + 1.;
        p *= u;
        u = s / u;
        r *= u * u;
    }
    return p;
} /* pythag_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?