# sqrtf (3)

# NAME

sqrt, sqrtf, sqrtl - square root function# SYNOPSIS

#include <math.h>

Link withdouble sqrt(doublex);float sqrtf(floatx);long double sqrtl(long doublex);

*-lm*.

Feature Test Macro Requirements for glibc (see

**feature_test_macros**(7)):

**sqrtf**(),

**sqrtl**():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

|| /* Since glibc 2.19: */ _DEFAULT_SOURCE

|| /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

|| /* Since glibc 2.19: */ _DEFAULT_SOURCE

|| /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

# DESCRIPTION

These functions return the nonnegative square root of*x*.

# RETURN VALUE

On success, these functions return the square root of*x*. If

*x*is a NaN, a NaN is returned. If

*x*is +0 (-0), +0 (-0) is returned. If

*x*is positive infinity, positive infinity is returned. If

*x*is less than -0, a domain error occurs, and a NaN is returned.

# ERRORS

See**math_error**(7) for information on how to determine whether an error has occurred when calling these functions. The following errors can occur:

- Domain error:
*x*less than -0 *errno*is set to**EDOM**. An invalid floating-point exception (**FE_INVALID**) is raised.

# ATTRIBUTES

For an explanation of the terms used in this section, see**attributes**(7).

Interface | Attribute | Value |

sqrt (), sqrtf (), sqrtl () | Thread safety | MT-Safe |

# CONFORMING TO

C99, POSIX.1-2001, POSIX.1-2008. The variant returning*double*also conforms to SVr4, 4.3BSD, C89.

# SEE ALSO

**cbrt**(3),

**csqrt**(3),

**hypot**(3)