.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R

.fi
..
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.hy 0
.if n .na
.bd B 3
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.IX Title "sqrt Cg"
.TH sqrt Cg "" "Cg Toolkit 2.2" "Cg Standard Library"
.UC
.SH "NAME"
\&\fBsqrt\fR \- returns square root of scalars and vectors.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 5
\&  float  sqrt(float a);
\&  float1 sqrt(float1 a);
\&  float2 sqrt(float2 a);
\&  float3 sqrt(float3 a);
\&  float4 sqrt(float4 a);
.Ve
.Vb 5
\&  half   sqrt(half a);
\&  half1  sqrt(half1 a);
\&  half2  sqrt(half2 a);
\&  half3  sqrt(half3 a);
\&  half4  sqrt(half4 a);
.Ve
.Vb 5
\&  fixed  sqrt(fixed a);
\&  fixed1 sqrt(fixed1 a);
\&  fixed2 sqrt(fixed2 a);
\&  fixed3 sqrt(fixed3 a);
\&  fixed4 sqrt(fixed4 a);
.Ve
.SH "PARAMETERS"
.IX Header "PARAMETERS"
.Ip "a" 8
.IX Item "a"
Vector or scalar of which to determine the square root.
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Returns the square root of \fIa\fR.
.PP
For vectors, the returned vector contains the square root of each
element of the input vector.
.PP
The square root of zero is zero.
.PP
Ideally, the square root of negative values returns \fINaN\fR (Not a Number).
.PP
\&\fBsqrt\fR often implemented as the reciprocal of a reciporcal squrare root
approximation in older profiles.
.SH "REFERENCE IMPLEMENTATION"
.IX Header "REFERENCE IMPLEMENTATION"
\&\fBsqrt\fR is best implemented as a native square root instruction, however
\&\fBsqrt\fR may be implemented via a \fBrsqrt\fR function:
.PP
.Vb 4
\&  float3 sqrt(float3 a)
\&  {
\&    return 1.0 / rsqrt(a);
\&  }
.Ve
.SH "PROFILE SUPPORT"
.IX Header "PROFILE SUPPORT"
\&\fBsqrt\fR is fully supported in all profiles unless otherwise specified.
\&\fBsqrt\fR is unsupported in the fp20 profile.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
normalize, pow, rsqrt
