]> granicus.if.org Git - php/commitdiff
Enable hypot for all
authorWez Furlong <wez@php.net>
Mon, 20 Sep 2004 22:08:06 +0000 (22:08 +0000)
committerWez Furlong <wez@php.net>
Mon, 20 Sep 2004 22:08:06 +0000 (22:08 +0000)
ext/standard/basic_functions.c
ext/standard/math.c

index 08e7578601cd74d44c66ec641d30f58d461433fc..0ca118a4cd4a68ec60e48d63a34d7e26d0a3cfb7 100644 (file)
@@ -405,9 +405,7 @@ function_entry basic_functions[] = {
        PHP_FE(log,                                                                                                                             NULL)
        PHP_FE(log10,                                                                                                                   NULL)
        PHP_FE(sqrt,                                                                                                                    NULL)
-#ifdef HAVE_HYPOT
        PHP_FE(hypot,                                                                                                                   NULL)
-#endif 
        PHP_FE(deg2rad,                                                                                                                 NULL)
        PHP_FE(rad2deg,                                                                                                                 NULL)
        PHP_FE(bindec,                                                                                                                  NULL)
index 8a2b3ecec1e996cfd719b3b8d43bd53d71de6b49..3543e222134b8e02b0827b40cbf7ddde7843222c 100644 (file)
@@ -617,7 +617,6 @@ PHP_FUNCTION(sqrt)
 /* {{{ proto float hypot(float num1, float num2)
    Returns sqrt(num1*num1 + num2*num2) */ 
 
-#ifdef HAVE_HYPOT
 PHP_FUNCTION(hypot)
 {
        zval **num1, **num2;
@@ -627,10 +626,16 @@ PHP_FUNCTION(hypot)
        }
        convert_to_double_ex(num1);
        convert_to_double_ex(num2);
+#if HAVE_HYPOT
        Z_DVAL_P(return_value) = hypot(Z_DVAL_PP(num1), Z_DVAL_PP(num2));
+#elif defined(_MSC_VER)
+       Z_DVAL_P(return_value) = _hypot(Z_DVAL_PP(num1), Z_DVAL_PP(num2));
+#else
+       Z_DVAL_P(return_value) = sqrt((Z_DVAL_PP(num1) * Z_DVAL_PP(num1)) +
+               (Z_DVAL_PP(num2) * Z_DVAL_PP(num2)));
+#endif
        Z_TYPE_P(return_value) = IS_DOUBLE;
 }
-#endif
 
 /* }}} */