1*e1eccf28SAndroid Build Coastguard Worker# 2*e1eccf28SAndroid Build Coastguard Worker# Copyright (C) 2014 The Android Open Source Project 3*e1eccf28SAndroid Build Coastguard Worker# 4*e1eccf28SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 5*e1eccf28SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 6*e1eccf28SAndroid Build Coastguard Worker# You may obtain a copy of the License at 7*e1eccf28SAndroid Build Coastguard Worker# 8*e1eccf28SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 9*e1eccf28SAndroid Build Coastguard Worker# 10*e1eccf28SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 11*e1eccf28SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 12*e1eccf28SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*e1eccf28SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 14*e1eccf28SAndroid Build Coastguard Worker# limitations under the License. 15*e1eccf28SAndroid Build Coastguard Worker# 16*e1eccf28SAndroid Build Coastguard Worker 17*e1eccf28SAndroid Build Coastguard Workerheader: 18*e1eccf28SAndroid Build Coastguard Workersummary: Mathematical Constants and Functions 19*e1eccf28SAndroid Build Coastguard Workerdescription: 20*e1eccf28SAndroid Build Coastguard Worker The mathematical functions below can be applied to scalars and vectors. When applied 21*e1eccf28SAndroid Build Coastguard Worker to vectors, the returned value is a vector of the function applied to each entry of the input. 22*e1eccf28SAndroid Build Coastguard Worker 23*e1eccf28SAndroid Build Coastguard Worker For example:<code><br/> 24*e1eccf28SAndroid Build Coastguard Worker float3 a, b;<br/> 25*e1eccf28SAndroid Build Coastguard Worker // The following call sets<br/> 26*e1eccf28SAndroid Build Coastguard Worker // a.x to sin(b.x),<br/> 27*e1eccf28SAndroid Build Coastguard Worker // a.y to sin(b.y), and<br/> 28*e1eccf28SAndroid Build Coastguard Worker // a.z to sin(b.z).<br/> 29*e1eccf28SAndroid Build Coastguard Worker a = sin(b);<br/> 30*e1eccf28SAndroid Build Coastguard Worker </code> 31*e1eccf28SAndroid Build Coastguard Worker 32*e1eccf28SAndroid Build Coastguard Worker See <a href='rs_vector_math.html'>Vector Math Functions</a> for functions like @distance() and @length() that interpret 33*e1eccf28SAndroid Build Coastguard Worker instead the input as a single vector in n-dimensional space. 34*e1eccf28SAndroid Build Coastguard Worker 35*e1eccf28SAndroid Build Coastguard Worker The precision of the mathematical operations on 32 bit floats is affected by the pragmas 36*e1eccf28SAndroid Build Coastguard Worker rs_fp_relaxed and rs_fp_full. Under rs_fp_relaxed, subnormal values may be flushed to zero and 37*e1eccf28SAndroid Build Coastguard Worker rounding may be done towards zero. In comparison, rs_fp_full requires correct handling of 38*e1eccf28SAndroid Build Coastguard Worker subnormal values, i.e. smaller than 1.17549435e-38f. rs_fp_rull also requires round to nearest 39*e1eccf28SAndroid Build Coastguard Worker with ties to even. 40*e1eccf28SAndroid Build Coastguard Worker 41*e1eccf28SAndroid Build Coastguard Worker Different precision/speed tradeoffs can be achieved by using variants of the common math 42*e1eccf28SAndroid Build Coastguard Worker functions. Functions with a name starting with<ul> 43*e1eccf28SAndroid Build Coastguard Worker <li>native_: May have custom hardware implementations with weaker precision. Additionally, 44*e1eccf28SAndroid Build Coastguard Worker subnormal values may be flushed to zero, rounding towards zero may be used, and NaN and 45*e1eccf28SAndroid Build Coastguard Worker infinity input may not be handled correctly.</li> 46*e1eccf28SAndroid Build Coastguard Worker <li>half_: May perform internal computations using 16 bit floats. Additionally, subnormal 47*e1eccf28SAndroid Build Coastguard Worker values may be flushed to zero, and rounding towards zero may be used.</li> 48*e1eccf28SAndroid Build Coastguard Worker </ul> 49*e1eccf28SAndroid Build Coastguard Workerend: 50*e1eccf28SAndroid Build Coastguard Worker 51*e1eccf28SAndroid Build Coastguard Worker# TODO Add f16 versions of these constants. 52*e1eccf28SAndroid Build Coastguard Workerconstant: M_1_PI 53*e1eccf28SAndroid Build Coastguard Workervalue: 0.318309886183790671537767526745028724f 54*e1eccf28SAndroid Build Coastguard Workertype: float 55*e1eccf28SAndroid Build Coastguard Workersummary: 1 / pi, as a 32 bit float 56*e1eccf28SAndroid Build Coastguard Workerdescription: 57*e1eccf28SAndroid Build Coastguard Worker The inverse of pi, as a 32 bit float. 58*e1eccf28SAndroid Build Coastguard Workerend: 59*e1eccf28SAndroid Build Coastguard Worker 60*e1eccf28SAndroid Build Coastguard Workerconstant: M_2_PI 61*e1eccf28SAndroid Build Coastguard Workervalue: 0.636619772367581343075535053490057448f 62*e1eccf28SAndroid Build Coastguard Workertype: float 63*e1eccf28SAndroid Build Coastguard Workersummary: 2 / pi, as a 32 bit float 64*e1eccf28SAndroid Build Coastguard Workerdescription: 65*e1eccf28SAndroid Build Coastguard Worker 2 divided by pi, as a 32 bit float. 66*e1eccf28SAndroid Build Coastguard Workerend: 67*e1eccf28SAndroid Build Coastguard Worker 68*e1eccf28SAndroid Build Coastguard Workerconstant: M_2_PIl 69*e1eccf28SAndroid Build Coastguard Workervalue: 0.636619772367581343075535053490057448f 70*e1eccf28SAndroid Build Coastguard Workertype: float 71*e1eccf28SAndroid Build Coastguard Workerhidden: 72*e1eccf28SAndroid Build Coastguard Workerdeprecated: 22, Use M_2_PI instead. 73*e1eccf28SAndroid Build Coastguard Workersummary: 2 / pi, as a 32 bit float 74*e1eccf28SAndroid Build Coastguard Workerdescription: 75*e1eccf28SAndroid Build Coastguard Worker 2 divided by pi, as a 32 bit float. 76*e1eccf28SAndroid Build Coastguard Workerend: 77*e1eccf28SAndroid Build Coastguard Worker 78*e1eccf28SAndroid Build Coastguard Workerconstant: M_2_SQRTPI 79*e1eccf28SAndroid Build Coastguard Workervalue: 1.128379167095512573896158903121545172f 80*e1eccf28SAndroid Build Coastguard Workertype: float 81*e1eccf28SAndroid Build Coastguard Workersummary: 2 / sqrt(pi), as a 32 bit float 82*e1eccf28SAndroid Build Coastguard Workerdescription: 83*e1eccf28SAndroid Build Coastguard Worker 2 divided by the square root of pi, as a 32 bit float. 84*e1eccf28SAndroid Build Coastguard Workerend: 85*e1eccf28SAndroid Build Coastguard Worker 86*e1eccf28SAndroid Build Coastguard Workerconstant: M_E 87*e1eccf28SAndroid Build Coastguard Workervalue: 2.718281828459045235360287471352662498f 88*e1eccf28SAndroid Build Coastguard Workertype: float 89*e1eccf28SAndroid Build Coastguard Workersummary: e, as a 32 bit float 90*e1eccf28SAndroid Build Coastguard Workerdescription: 91*e1eccf28SAndroid Build Coastguard Worker The number e, the base of the natural logarithm, as a 32 bit float. 92*e1eccf28SAndroid Build Coastguard Workerend: 93*e1eccf28SAndroid Build Coastguard Worker 94*e1eccf28SAndroid Build Coastguard Workerconstant: M_LN10 95*e1eccf28SAndroid Build Coastguard Workervalue: 2.302585092994045684017991454684364208f 96*e1eccf28SAndroid Build Coastguard Workertype: float 97*e1eccf28SAndroid Build Coastguard Workersummary: log_e(10), as a 32 bit float 98*e1eccf28SAndroid Build Coastguard Workerdescription: 99*e1eccf28SAndroid Build Coastguard Worker The natural logarithm of 10, as a 32 bit float. 100*e1eccf28SAndroid Build Coastguard Workerend: 101*e1eccf28SAndroid Build Coastguard Worker 102*e1eccf28SAndroid Build Coastguard Workerconstant: M_LN2 103*e1eccf28SAndroid Build Coastguard Workervalue: 0.693147180559945309417232121458176568f 104*e1eccf28SAndroid Build Coastguard Workertype: float 105*e1eccf28SAndroid Build Coastguard Workersummary: log_e(2), as a 32 bit float 106*e1eccf28SAndroid Build Coastguard Workerdescription: 107*e1eccf28SAndroid Build Coastguard Worker The natural logarithm of 2, as a 32 bit float. 108*e1eccf28SAndroid Build Coastguard Workerend: 109*e1eccf28SAndroid Build Coastguard Worker 110*e1eccf28SAndroid Build Coastguard Workerconstant: M_LOG10E 111*e1eccf28SAndroid Build Coastguard Workervalue: 0.434294481903251827651128918916605082f 112*e1eccf28SAndroid Build Coastguard Workertype: float 113*e1eccf28SAndroid Build Coastguard Workersummary: log_10(e), as a 32 bit float 114*e1eccf28SAndroid Build Coastguard Workerdescription: 115*e1eccf28SAndroid Build Coastguard Worker The logarithm base 10 of e, as a 32 bit float. 116*e1eccf28SAndroid Build Coastguard Workerend: 117*e1eccf28SAndroid Build Coastguard Worker 118*e1eccf28SAndroid Build Coastguard Workerconstant: M_LOG2E 119*e1eccf28SAndroid Build Coastguard Workervalue: 1.442695040888963407359924681001892137f 120*e1eccf28SAndroid Build Coastguard Workertype: float 121*e1eccf28SAndroid Build Coastguard Workersummary: log_2(e), as a 32 bit float 122*e1eccf28SAndroid Build Coastguard Workerdescription: 123*e1eccf28SAndroid Build Coastguard Worker The logarithm base 2 of e, as a 32 bit float. 124*e1eccf28SAndroid Build Coastguard Workerend: 125*e1eccf28SAndroid Build Coastguard Worker 126*e1eccf28SAndroid Build Coastguard Workerconstant: M_PI 127*e1eccf28SAndroid Build Coastguard Workervalue: 3.141592653589793238462643383279502884f 128*e1eccf28SAndroid Build Coastguard Workertype: float 129*e1eccf28SAndroid Build Coastguard Workersummary: pi, as a 32 bit float 130*e1eccf28SAndroid Build Coastguard Workerdescription: 131*e1eccf28SAndroid Build Coastguard Worker The constant pi, as a 32 bit float. 132*e1eccf28SAndroid Build Coastguard Workerend: 133*e1eccf28SAndroid Build Coastguard Worker 134*e1eccf28SAndroid Build Coastguard Workerconstant: M_PI_2 135*e1eccf28SAndroid Build Coastguard Workervalue: 1.570796326794896619231321691639751442f 136*e1eccf28SAndroid Build Coastguard Workertype: float 137*e1eccf28SAndroid Build Coastguard Workersummary: pi / 2, as a 32 bit float 138*e1eccf28SAndroid Build Coastguard Workerdescription: 139*e1eccf28SAndroid Build Coastguard Worker Pi divided by 2, as a 32 bit float. 140*e1eccf28SAndroid Build Coastguard Workerend: 141*e1eccf28SAndroid Build Coastguard Worker 142*e1eccf28SAndroid Build Coastguard Workerconstant: M_PI_4 143*e1eccf28SAndroid Build Coastguard Workervalue: 0.785398163397448309615660845819875721f 144*e1eccf28SAndroid Build Coastguard Workertype: float 145*e1eccf28SAndroid Build Coastguard Workersummary: pi / 4, as a 32 bit float 146*e1eccf28SAndroid Build Coastguard Workerdescription: 147*e1eccf28SAndroid Build Coastguard Worker Pi divided by 4, as a 32 bit float. 148*e1eccf28SAndroid Build Coastguard Workerend: 149*e1eccf28SAndroid Build Coastguard Worker 150*e1eccf28SAndroid Build Coastguard Workerconstant: M_SQRT1_2 151*e1eccf28SAndroid Build Coastguard Workervalue: 0.707106781186547524400844362104849039f 152*e1eccf28SAndroid Build Coastguard Workertype: float 153*e1eccf28SAndroid Build Coastguard Workersummary: 1 / sqrt(2), as a 32 bit float 154*e1eccf28SAndroid Build Coastguard Workerdescription: 155*e1eccf28SAndroid Build Coastguard Worker The inverse of the square root of 2, as a 32 bit float. 156*e1eccf28SAndroid Build Coastguard Workerend: 157*e1eccf28SAndroid Build Coastguard Worker 158*e1eccf28SAndroid Build Coastguard Workerconstant: M_SQRT2 159*e1eccf28SAndroid Build Coastguard Workervalue: 1.414213562373095048801688724209698079f 160*e1eccf28SAndroid Build Coastguard Workertype: float 161*e1eccf28SAndroid Build Coastguard Workersummary: sqrt(2), as a 32 bit float 162*e1eccf28SAndroid Build Coastguard Workerdescription: 163*e1eccf28SAndroid Build Coastguard Worker The square root of 2, as a 32 bit float. 164*e1eccf28SAndroid Build Coastguard Workerend: 165*e1eccf28SAndroid Build Coastguard Worker 166*e1eccf28SAndroid Build Coastguard Workerfunction: abs 167*e1eccf28SAndroid Build Coastguard Workerversion: 9 168*e1eccf28SAndroid Build Coastguard Workerattrib: const 169*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 170*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32 171*e1eccf28SAndroid Build Coastguard Workerret: u#2#1 172*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 173*e1eccf28SAndroid Build Coastguard Workersummary: Absolute value of an integer 174*e1eccf28SAndroid Build Coastguard Workerdescription: 175*e1eccf28SAndroid Build Coastguard Worker Returns the absolute value of an integer. 176*e1eccf28SAndroid Build Coastguard Worker 177*e1eccf28SAndroid Build Coastguard Worker For floats, use @fabs(). 178*e1eccf28SAndroid Build Coastguard Workerend: 179*e1eccf28SAndroid Build Coastguard Worker 180*e1eccf28SAndroid Build Coastguard Workerfunction: acos 181*e1eccf28SAndroid Build Coastguard Workerversion: 9 182*e1eccf28SAndroid Build Coastguard Workerattrib: const 183*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 184*e1eccf28SAndroid Build Coastguard Workert: f32 185*e1eccf28SAndroid Build Coastguard Workerret: #2#1 186*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 187*e1eccf28SAndroid Build Coastguard Workersummary: Inverse cosine 188*e1eccf28SAndroid Build Coastguard Workerdescription: 189*e1eccf28SAndroid Build Coastguard Worker Returns the inverse cosine, in radians. 190*e1eccf28SAndroid Build Coastguard Worker 191*e1eccf28SAndroid Build Coastguard Worker See also @native_acos(). 192*e1eccf28SAndroid Build Coastguard Workerend: 193*e1eccf28SAndroid Build Coastguard Worker 194*e1eccf28SAndroid Build Coastguard Workerfunction: acos 195*e1eccf28SAndroid Build Coastguard Workerversion: 24 196*e1eccf28SAndroid Build Coastguard Workerattrib: const 197*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 198*e1eccf28SAndroid Build Coastguard Workert: f16 199*e1eccf28SAndroid Build Coastguard Workerret: #2#1 200*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 201*e1eccf28SAndroid Build Coastguard Workerend: 202*e1eccf28SAndroid Build Coastguard Worker 203*e1eccf28SAndroid Build Coastguard Workerfunction: acosh 204*e1eccf28SAndroid Build Coastguard Workerversion: 9 205*e1eccf28SAndroid Build Coastguard Workerattrib: const 206*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 207*e1eccf28SAndroid Build Coastguard Workert: f32 208*e1eccf28SAndroid Build Coastguard Workerret: #2#1 209*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 210*e1eccf28SAndroid Build Coastguard Workersummary: Inverse hyperbolic cosine 211*e1eccf28SAndroid Build Coastguard Workerdescription: 212*e1eccf28SAndroid Build Coastguard Worker Returns the inverse hyperbolic cosine, in radians. 213*e1eccf28SAndroid Build Coastguard Worker 214*e1eccf28SAndroid Build Coastguard Worker See also @native_acosh(). 215*e1eccf28SAndroid Build Coastguard Workerend: 216*e1eccf28SAndroid Build Coastguard Worker 217*e1eccf28SAndroid Build Coastguard Workerfunction: acosh 218*e1eccf28SAndroid Build Coastguard Workerversion: 24 219*e1eccf28SAndroid Build Coastguard Workerattrib: const 220*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 221*e1eccf28SAndroid Build Coastguard Workert: f16 222*e1eccf28SAndroid Build Coastguard Workerret: #2#1 223*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 224*e1eccf28SAndroid Build Coastguard Workerend: 225*e1eccf28SAndroid Build Coastguard Worker 226*e1eccf28SAndroid Build Coastguard Workerfunction: acospi 227*e1eccf28SAndroid Build Coastguard Workerversion: 9 228*e1eccf28SAndroid Build Coastguard Workerattrib: const 229*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 230*e1eccf28SAndroid Build Coastguard Workert: f32 231*e1eccf28SAndroid Build Coastguard Workerret: #2#1 232*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 233*e1eccf28SAndroid Build Coastguard Workersummary: Inverse cosine divided by pi 234*e1eccf28SAndroid Build Coastguard Workerdescription: 235*e1eccf28SAndroid Build Coastguard Worker Returns the inverse cosine in radians, divided by pi. 236*e1eccf28SAndroid Build Coastguard Worker 237*e1eccf28SAndroid Build Coastguard Worker To get an inverse cosine measured in degrees, use <code>acospi(a) * 180.f</code>. 238*e1eccf28SAndroid Build Coastguard Worker 239*e1eccf28SAndroid Build Coastguard Worker See also @native_acospi(). 240*e1eccf28SAndroid Build Coastguard Workerend: 241*e1eccf28SAndroid Build Coastguard Worker 242*e1eccf28SAndroid Build Coastguard Workerfunction: acospi 243*e1eccf28SAndroid Build Coastguard Workerversion: 24 244*e1eccf28SAndroid Build Coastguard Workerattrib: const 245*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 246*e1eccf28SAndroid Build Coastguard Workert: f16 247*e1eccf28SAndroid Build Coastguard Workerret: #2#1 248*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 249*e1eccf28SAndroid Build Coastguard Workerend: 250*e1eccf28SAndroid Build Coastguard Worker 251*e1eccf28SAndroid Build Coastguard Workerfunction: asin 252*e1eccf28SAndroid Build Coastguard Workerversion: 9 253*e1eccf28SAndroid Build Coastguard Workerattrib: const 254*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 255*e1eccf28SAndroid Build Coastguard Workert: f32 256*e1eccf28SAndroid Build Coastguard Workerret: #2#1 257*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 258*e1eccf28SAndroid Build Coastguard Workersummary: Inverse sine 259*e1eccf28SAndroid Build Coastguard Workerdescription: 260*e1eccf28SAndroid Build Coastguard Worker Returns the inverse sine, in radians. 261*e1eccf28SAndroid Build Coastguard Worker 262*e1eccf28SAndroid Build Coastguard Worker See also @native_asin(). 263*e1eccf28SAndroid Build Coastguard Workerend: 264*e1eccf28SAndroid Build Coastguard Worker 265*e1eccf28SAndroid Build Coastguard Workerfunction: asin 266*e1eccf28SAndroid Build Coastguard Workerversion: 24 267*e1eccf28SAndroid Build Coastguard Workerattrib: const 268*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 269*e1eccf28SAndroid Build Coastguard Workert: f16 270*e1eccf28SAndroid Build Coastguard Workerret: #2#1 271*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 272*e1eccf28SAndroid Build Coastguard Workerend: 273*e1eccf28SAndroid Build Coastguard Worker 274*e1eccf28SAndroid Build Coastguard Workerfunction: asinh 275*e1eccf28SAndroid Build Coastguard Workerversion: 9 276*e1eccf28SAndroid Build Coastguard Workerattrib: const 277*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 278*e1eccf28SAndroid Build Coastguard Workert: f32 279*e1eccf28SAndroid Build Coastguard Workerret: #2#1 280*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 281*e1eccf28SAndroid Build Coastguard Workersummary: Inverse hyperbolic sine 282*e1eccf28SAndroid Build Coastguard Workerdescription: 283*e1eccf28SAndroid Build Coastguard Worker Returns the inverse hyperbolic sine, in radians. 284*e1eccf28SAndroid Build Coastguard Worker 285*e1eccf28SAndroid Build Coastguard Worker See also @native_asinh(). 286*e1eccf28SAndroid Build Coastguard Workerend: 287*e1eccf28SAndroid Build Coastguard Worker 288*e1eccf28SAndroid Build Coastguard Workerfunction: asinh 289*e1eccf28SAndroid Build Coastguard Workerversion: 24 290*e1eccf28SAndroid Build Coastguard Workerattrib: const 291*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 292*e1eccf28SAndroid Build Coastguard Workert: f16 293*e1eccf28SAndroid Build Coastguard Workerret: #2#1 294*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 295*e1eccf28SAndroid Build Coastguard Workerend: 296*e1eccf28SAndroid Build Coastguard Worker 297*e1eccf28SAndroid Build Coastguard Workerfunction: asinpi 298*e1eccf28SAndroid Build Coastguard Workerversion: 9 299*e1eccf28SAndroid Build Coastguard Workerattrib: const 300*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 301*e1eccf28SAndroid Build Coastguard Workert: f32 302*e1eccf28SAndroid Build Coastguard Workerret: #2#1 303*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 304*e1eccf28SAndroid Build Coastguard Workersummary: Inverse sine divided by pi 305*e1eccf28SAndroid Build Coastguard Workerdescription: 306*e1eccf28SAndroid Build Coastguard Worker Returns the inverse sine in radians, divided by pi. 307*e1eccf28SAndroid Build Coastguard Worker 308*e1eccf28SAndroid Build Coastguard Worker To get an inverse sine measured in degrees, use <code>asinpi(a) * 180.f</code>. 309*e1eccf28SAndroid Build Coastguard Worker 310*e1eccf28SAndroid Build Coastguard Worker See also @native_asinpi(). 311*e1eccf28SAndroid Build Coastguard Workerend: 312*e1eccf28SAndroid Build Coastguard Worker 313*e1eccf28SAndroid Build Coastguard Workerfunction: asinpi 314*e1eccf28SAndroid Build Coastguard Workerversion: 24 315*e1eccf28SAndroid Build Coastguard Workerattrib: const 316*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 317*e1eccf28SAndroid Build Coastguard Workert: f16 318*e1eccf28SAndroid Build Coastguard Workerret: #2#1 319*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 320*e1eccf28SAndroid Build Coastguard Workerend: 321*e1eccf28SAndroid Build Coastguard Worker 322*e1eccf28SAndroid Build Coastguard Workerfunction: atan 323*e1eccf28SAndroid Build Coastguard Workerversion: 9 324*e1eccf28SAndroid Build Coastguard Workerattrib: const 325*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 326*e1eccf28SAndroid Build Coastguard Workert: f32 327*e1eccf28SAndroid Build Coastguard Workerret: #2#1 328*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 329*e1eccf28SAndroid Build Coastguard Workersummary: Inverse tangent 330*e1eccf28SAndroid Build Coastguard Workerdescription: 331*e1eccf28SAndroid Build Coastguard Worker Returns the inverse tangent, in radians. 332*e1eccf28SAndroid Build Coastguard Worker 333*e1eccf28SAndroid Build Coastguard Worker See also @native_atan(). 334*e1eccf28SAndroid Build Coastguard Workerend: 335*e1eccf28SAndroid Build Coastguard Worker 336*e1eccf28SAndroid Build Coastguard Workerfunction: atan 337*e1eccf28SAndroid Build Coastguard Workerversion: 24 338*e1eccf28SAndroid Build Coastguard Workerattrib: const 339*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 340*e1eccf28SAndroid Build Coastguard Workert: f16 341*e1eccf28SAndroid Build Coastguard Workerret: #2#1 342*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 343*e1eccf28SAndroid Build Coastguard Workerend: 344*e1eccf28SAndroid Build Coastguard Worker 345*e1eccf28SAndroid Build Coastguard Workerfunction: atan2 346*e1eccf28SAndroid Build Coastguard Workerversion: 9 347*e1eccf28SAndroid Build Coastguard Workerattrib: const 348*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 349*e1eccf28SAndroid Build Coastguard Workert: f32 350*e1eccf28SAndroid Build Coastguard Workerret: #2#1 351*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator, "Numerator." 352*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator, "Denominator. Can be 0." 353*e1eccf28SAndroid Build Coastguard Workersummary: Inverse tangent of a ratio 354*e1eccf28SAndroid Build Coastguard Workerdescription: 355*e1eccf28SAndroid Build Coastguard Worker Returns the inverse tangent of <code>(numerator / denominator)</code>, in radians. 356*e1eccf28SAndroid Build Coastguard Worker 357*e1eccf28SAndroid Build Coastguard Worker See also @native_atan2(). 358*e1eccf28SAndroid Build Coastguard Workerend: 359*e1eccf28SAndroid Build Coastguard Worker 360*e1eccf28SAndroid Build Coastguard Workerfunction: atan2 361*e1eccf28SAndroid Build Coastguard Workerversion: 24 362*e1eccf28SAndroid Build Coastguard Workerattrib: const 363*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 364*e1eccf28SAndroid Build Coastguard Workert: f16 365*e1eccf28SAndroid Build Coastguard Workerret: #2#1 366*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 367*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 368*e1eccf28SAndroid Build Coastguard Workerend: 369*e1eccf28SAndroid Build Coastguard Worker 370*e1eccf28SAndroid Build Coastguard Workerfunction: atan2pi 371*e1eccf28SAndroid Build Coastguard Workerversion: 9 372*e1eccf28SAndroid Build Coastguard Workerattrib: const 373*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 374*e1eccf28SAndroid Build Coastguard Workert: f32 375*e1eccf28SAndroid Build Coastguard Workerret: #2#1 376*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator, "Numerator." 377*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator, "Denominator. Can be 0." 378*e1eccf28SAndroid Build Coastguard Workersummary: Inverse tangent of a ratio, divided by pi 379*e1eccf28SAndroid Build Coastguard Workerdescription: 380*e1eccf28SAndroid Build Coastguard Worker Returns the inverse tangent of <code>(numerator / denominator)</code>, in radians, divided by pi. 381*e1eccf28SAndroid Build Coastguard Worker 382*e1eccf28SAndroid Build Coastguard Worker To get an inverse tangent measured in degrees, use <code>atan2pi(n, d) * 180.f</code>. 383*e1eccf28SAndroid Build Coastguard Worker 384*e1eccf28SAndroid Build Coastguard Worker See also @native_atan2pi(). 385*e1eccf28SAndroid Build Coastguard Workerend: 386*e1eccf28SAndroid Build Coastguard Worker 387*e1eccf28SAndroid Build Coastguard Workerfunction: atan2pi 388*e1eccf28SAndroid Build Coastguard Workerversion: 24 389*e1eccf28SAndroid Build Coastguard Workerattrib: const 390*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 391*e1eccf28SAndroid Build Coastguard Workert: f16 392*e1eccf28SAndroid Build Coastguard Workerret: #2#1 393*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 394*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 395*e1eccf28SAndroid Build Coastguard Workerend: 396*e1eccf28SAndroid Build Coastguard Worker 397*e1eccf28SAndroid Build Coastguard Workerfunction: atanh 398*e1eccf28SAndroid Build Coastguard Workerversion: 9 399*e1eccf28SAndroid Build Coastguard Workerattrib: const 400*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 401*e1eccf28SAndroid Build Coastguard Workert: f32 402*e1eccf28SAndroid Build Coastguard Workerret: #2#1 403*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 404*e1eccf28SAndroid Build Coastguard Workersummary: Inverse hyperbolic tangent 405*e1eccf28SAndroid Build Coastguard Workerdescription: 406*e1eccf28SAndroid Build Coastguard Worker Returns the inverse hyperbolic tangent, in radians. 407*e1eccf28SAndroid Build Coastguard Worker 408*e1eccf28SAndroid Build Coastguard Worker See also @native_atanh(). 409*e1eccf28SAndroid Build Coastguard Workerend: 410*e1eccf28SAndroid Build Coastguard Worker 411*e1eccf28SAndroid Build Coastguard Workerfunction: atanh 412*e1eccf28SAndroid Build Coastguard Workerversion: 24 413*e1eccf28SAndroid Build Coastguard Workerattrib: const 414*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 415*e1eccf28SAndroid Build Coastguard Workert: f16 416*e1eccf28SAndroid Build Coastguard Workerret: #2#1 417*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 418*e1eccf28SAndroid Build Coastguard Workerend: 419*e1eccf28SAndroid Build Coastguard Worker 420*e1eccf28SAndroid Build Coastguard Workerfunction: atanpi 421*e1eccf28SAndroid Build Coastguard Workerversion: 9 422*e1eccf28SAndroid Build Coastguard Workerattrib: const 423*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 424*e1eccf28SAndroid Build Coastguard Workert: f32 425*e1eccf28SAndroid Build Coastguard Workerret: #2#1 426*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 427*e1eccf28SAndroid Build Coastguard Workersummary: Inverse tangent divided by pi 428*e1eccf28SAndroid Build Coastguard Workerdescription: 429*e1eccf28SAndroid Build Coastguard Worker Returns the inverse tangent in radians, divided by pi. 430*e1eccf28SAndroid Build Coastguard Worker 431*e1eccf28SAndroid Build Coastguard Worker To get an inverse tangent measured in degrees, use <code>atanpi(a) * 180.f</code>. 432*e1eccf28SAndroid Build Coastguard Worker 433*e1eccf28SAndroid Build Coastguard Worker See also @native_atanpi(). 434*e1eccf28SAndroid Build Coastguard Workerend: 435*e1eccf28SAndroid Build Coastguard Worker 436*e1eccf28SAndroid Build Coastguard Workerfunction: atanpi 437*e1eccf28SAndroid Build Coastguard Workerversion: 24 438*e1eccf28SAndroid Build Coastguard Workerattrib: const 439*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 440*e1eccf28SAndroid Build Coastguard Workert: f16 441*e1eccf28SAndroid Build Coastguard Workerret: #2#1 442*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 443*e1eccf28SAndroid Build Coastguard Workerend: 444*e1eccf28SAndroid Build Coastguard Worker 445*e1eccf28SAndroid Build Coastguard Workerfunction: cbrt 446*e1eccf28SAndroid Build Coastguard Workerversion: 9 447*e1eccf28SAndroid Build Coastguard Workerattrib: const 448*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 449*e1eccf28SAndroid Build Coastguard Workert: f32 450*e1eccf28SAndroid Build Coastguard Workerret: #2#1 451*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 452*e1eccf28SAndroid Build Coastguard Workersummary: Cube root 453*e1eccf28SAndroid Build Coastguard Workerdescription: 454*e1eccf28SAndroid Build Coastguard Worker Returns the cube root. 455*e1eccf28SAndroid Build Coastguard Worker 456*e1eccf28SAndroid Build Coastguard Worker See also @native_cbrt(). 457*e1eccf28SAndroid Build Coastguard Workerend: 458*e1eccf28SAndroid Build Coastguard Worker 459*e1eccf28SAndroid Build Coastguard Workerfunction: cbrt 460*e1eccf28SAndroid Build Coastguard Workerversion: 24 461*e1eccf28SAndroid Build Coastguard Workerattrib: const 462*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 463*e1eccf28SAndroid Build Coastguard Workert: f16 464*e1eccf28SAndroid Build Coastguard Workerret: #2#1 465*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 466*e1eccf28SAndroid Build Coastguard Workerend: 467*e1eccf28SAndroid Build Coastguard Worker 468*e1eccf28SAndroid Build Coastguard Workerfunction: ceil 469*e1eccf28SAndroid Build Coastguard Workerversion: 9 470*e1eccf28SAndroid Build Coastguard Workerattrib: const 471*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 472*e1eccf28SAndroid Build Coastguard Workert: f32 473*e1eccf28SAndroid Build Coastguard Workerret: #2#1 474*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 475*e1eccf28SAndroid Build Coastguard Workersummary: Smallest integer not less than a value 476*e1eccf28SAndroid Build Coastguard Workerdescription: 477*e1eccf28SAndroid Build Coastguard Worker Returns the smallest integer not less than a value. 478*e1eccf28SAndroid Build Coastguard Worker 479*e1eccf28SAndroid Build Coastguard Worker For example, <code>ceil(1.2f)</code> returns 2.f, and <code>ceil(-1.2f)</code> returns -1.f. 480*e1eccf28SAndroid Build Coastguard Worker 481*e1eccf28SAndroid Build Coastguard Worker See also @floor(). 482*e1eccf28SAndroid Build Coastguard Workerend: 483*e1eccf28SAndroid Build Coastguard Worker 484*e1eccf28SAndroid Build Coastguard Workerfunction: ceil 485*e1eccf28SAndroid Build Coastguard Workerversion: 24 486*e1eccf28SAndroid Build Coastguard Workerattrib: const 487*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 488*e1eccf28SAndroid Build Coastguard Workert: f16 489*e1eccf28SAndroid Build Coastguard Workerret: #2#1 490*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 491*e1eccf28SAndroid Build Coastguard Workerend: 492*e1eccf28SAndroid Build Coastguard Worker 493*e1eccf28SAndroid Build Coastguard Workerfunction: clamp 494*e1eccf28SAndroid Build Coastguard Workerversion: 9 495*e1eccf28SAndroid Build Coastguard Workerattrib: const 496*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 497*e1eccf28SAndroid Build Coastguard Workert: f32 498*e1eccf28SAndroid Build Coastguard Workerret: #2#1 499*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 value, "Value to be clamped." 500*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 min_value, "Lower bound, a scalar or matching vector." 501*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 max_value, above(min_value), "High bound, must match the type of low." 502*e1eccf28SAndroid Build Coastguard Workersummary: Restrain a value to a range 503*e1eccf28SAndroid Build Coastguard Workerdescription: 504*e1eccf28SAndroid Build Coastguard Worker Clamps a value to a specified high and low bound. clamp() returns min_value 505*e1eccf28SAndroid Build Coastguard Worker if value < min_value, max_value if value > max_value, otherwise value. 506*e1eccf28SAndroid Build Coastguard Worker 507*e1eccf28SAndroid Build Coastguard Worker There are two variants of clamp: one where the min and max are scalars applied 508*e1eccf28SAndroid Build Coastguard Worker to all entries of the value, the other where the min and max are also vectors. 509*e1eccf28SAndroid Build Coastguard Worker 510*e1eccf28SAndroid Build Coastguard Worker If min_value is greater than max_value, the results are undefined. 511*e1eccf28SAndroid Build Coastguard Workerend: 512*e1eccf28SAndroid Build Coastguard Worker 513*e1eccf28SAndroid Build Coastguard Workerfunction: clamp 514*e1eccf28SAndroid Build Coastguard Workerversion: 9 515*e1eccf28SAndroid Build Coastguard Workerattrib: const 516*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 517*e1eccf28SAndroid Build Coastguard Workert: f32 518*e1eccf28SAndroid Build Coastguard Workerret: #2#1 519*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 value 520*e1eccf28SAndroid Build Coastguard Workerarg: #2 min_value 521*e1eccf28SAndroid Build Coastguard Workerarg: #2 max_value, above(min_value) 522*e1eccf28SAndroid Build Coastguard Workerend: 523*e1eccf28SAndroid Build Coastguard Worker 524*e1eccf28SAndroid Build Coastguard Workerfunction: clamp 525*e1eccf28SAndroid Build Coastguard Workerversion: 19 526*e1eccf28SAndroid Build Coastguard Workerattrib: const 527*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 528*e1eccf28SAndroid Build Coastguard Workert: u8, u16, u32, u64, i8, i16, i32, i64 529*e1eccf28SAndroid Build Coastguard Workerret: #2#1 530*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 value 531*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 min_value 532*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 max_value, above(min_value) 533*e1eccf28SAndroid Build Coastguard Workerend: 534*e1eccf28SAndroid Build Coastguard Worker 535*e1eccf28SAndroid Build Coastguard Workerfunction: clamp 536*e1eccf28SAndroid Build Coastguard Workerversion: 19 537*e1eccf28SAndroid Build Coastguard Workerattrib: const 538*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 539*e1eccf28SAndroid Build Coastguard Workert: u8, u16, u32, u64, i8, i16, i32, i64 540*e1eccf28SAndroid Build Coastguard Workerret: #2#1 541*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 value 542*e1eccf28SAndroid Build Coastguard Workerarg: #2 min_value 543*e1eccf28SAndroid Build Coastguard Workerarg: #2 max_value, above(min_value) 544*e1eccf28SAndroid Build Coastguard Workerend: 545*e1eccf28SAndroid Build Coastguard Worker 546*e1eccf28SAndroid Build Coastguard Workerfunction: clamp 547*e1eccf28SAndroid Build Coastguard Workerversion: 24 548*e1eccf28SAndroid Build Coastguard Workerattrib: const 549*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 550*e1eccf28SAndroid Build Coastguard Workert: f16 551*e1eccf28SAndroid Build Coastguard Workerret: #2#1 552*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 value 553*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 min_value 554*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 max_value, above(min_value) 555*e1eccf28SAndroid Build Coastguard Workerend: 556*e1eccf28SAndroid Build Coastguard Worker 557*e1eccf28SAndroid Build Coastguard Workerfunction: clamp 558*e1eccf28SAndroid Build Coastguard Workerversion: 24 559*e1eccf28SAndroid Build Coastguard Workerattrib: const 560*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 561*e1eccf28SAndroid Build Coastguard Workert: f16 562*e1eccf28SAndroid Build Coastguard Workerret: #2#1 563*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 value 564*e1eccf28SAndroid Build Coastguard Workerarg: #2 min_value 565*e1eccf28SAndroid Build Coastguard Workerarg: #2 max_value, above(min_value) 566*e1eccf28SAndroid Build Coastguard Workerend: 567*e1eccf28SAndroid Build Coastguard Worker 568*e1eccf28SAndroid Build Coastguard Workerfunction: clz 569*e1eccf28SAndroid Build Coastguard Workerversion: 9 570*e1eccf28SAndroid Build Coastguard Workerattrib: const 571*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 572*e1eccf28SAndroid Build Coastguard Workert: u8, u16, u32, i8, i16, i32 573*e1eccf28SAndroid Build Coastguard Workerret: #2#1 574*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 value 575*e1eccf28SAndroid Build Coastguard Workersummary: Number of leading 0 bits 576*e1eccf28SAndroid Build Coastguard Workerdescription: 577*e1eccf28SAndroid Build Coastguard Worker Returns the number of leading 0-bits in a value. 578*e1eccf28SAndroid Build Coastguard Worker 579*e1eccf28SAndroid Build Coastguard Worker For example, <code>clz((char)0x03)</code> returns 6. 580*e1eccf28SAndroid Build Coastguard Workerend: 581*e1eccf28SAndroid Build Coastguard Worker 582*e1eccf28SAndroid Build Coastguard Workerfunction: copysign 583*e1eccf28SAndroid Build Coastguard Workerversion: 9 584*e1eccf28SAndroid Build Coastguard Workerattrib: const 585*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 586*e1eccf28SAndroid Build Coastguard Workert: f32 587*e1eccf28SAndroid Build Coastguard Workerret: #2#1 588*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 magnitude_value 589*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 sign_value 590*e1eccf28SAndroid Build Coastguard Workersummary: Copies the sign of a number to another 591*e1eccf28SAndroid Build Coastguard Workerdescription: 592*e1eccf28SAndroid Build Coastguard Worker Copies the sign from sign_value to magnitude_value. 593*e1eccf28SAndroid Build Coastguard Worker 594*e1eccf28SAndroid Build Coastguard Worker The value returned is either magnitude_value or -magnitude_value. 595*e1eccf28SAndroid Build Coastguard Worker 596*e1eccf28SAndroid Build Coastguard Worker For example, <code>copysign(4.0f, -2.7f)</code> returns -4.0f and <code>copysign(-4.0f, 2.7f)</code> returns 4.0f. 597*e1eccf28SAndroid Build Coastguard Workerend: 598*e1eccf28SAndroid Build Coastguard Worker 599*e1eccf28SAndroid Build Coastguard Workerfunction: copysign 600*e1eccf28SAndroid Build Coastguard Workerversion: 24 601*e1eccf28SAndroid Build Coastguard Workerattrib: const 602*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 603*e1eccf28SAndroid Build Coastguard Workert: f16 604*e1eccf28SAndroid Build Coastguard Workerret: #2#1 605*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 magnitude_value 606*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 sign_value 607*e1eccf28SAndroid Build Coastguard Workerend: 608*e1eccf28SAndroid Build Coastguard Worker 609*e1eccf28SAndroid Build Coastguard Workerfunction: cos 610*e1eccf28SAndroid Build Coastguard Workerversion: 9 611*e1eccf28SAndroid Build Coastguard Workerattrib: const 612*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 613*e1eccf28SAndroid Build Coastguard Workert: f32 614*e1eccf28SAndroid Build Coastguard Workerret: #2#1 615*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 616*e1eccf28SAndroid Build Coastguard Workersummary: Cosine 617*e1eccf28SAndroid Build Coastguard Workerdescription: 618*e1eccf28SAndroid Build Coastguard Worker Returns the cosine of an angle measured in radians. 619*e1eccf28SAndroid Build Coastguard Worker 620*e1eccf28SAndroid Build Coastguard Worker See also @native_cos(). 621*e1eccf28SAndroid Build Coastguard Workerend: 622*e1eccf28SAndroid Build Coastguard Worker 623*e1eccf28SAndroid Build Coastguard Workerfunction: cos 624*e1eccf28SAndroid Build Coastguard Workerversion: 24 625*e1eccf28SAndroid Build Coastguard Workerattrib: const 626*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 627*e1eccf28SAndroid Build Coastguard Workert: f16 628*e1eccf28SAndroid Build Coastguard Workerret: #2#1 629*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 630*e1eccf28SAndroid Build Coastguard Workerend: 631*e1eccf28SAndroid Build Coastguard Worker 632*e1eccf28SAndroid Build Coastguard Workerfunction: cosh 633*e1eccf28SAndroid Build Coastguard Workerversion: 9 634*e1eccf28SAndroid Build Coastguard Workerattrib: const 635*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 636*e1eccf28SAndroid Build Coastguard Workert: f32 637*e1eccf28SAndroid Build Coastguard Workerret: #2#1 638*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 639*e1eccf28SAndroid Build Coastguard Workersummary: Hypebolic cosine 640*e1eccf28SAndroid Build Coastguard Workerdescription: 641*e1eccf28SAndroid Build Coastguard Worker Returns the hypebolic cosine of v, where v is measured in radians. 642*e1eccf28SAndroid Build Coastguard Worker 643*e1eccf28SAndroid Build Coastguard Worker See also @native_cosh(). 644*e1eccf28SAndroid Build Coastguard Workerend: 645*e1eccf28SAndroid Build Coastguard Worker 646*e1eccf28SAndroid Build Coastguard Workerfunction: cosh 647*e1eccf28SAndroid Build Coastguard Workerversion: 24 648*e1eccf28SAndroid Build Coastguard Workerattrib: const 649*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 650*e1eccf28SAndroid Build Coastguard Workert: f16 651*e1eccf28SAndroid Build Coastguard Workerret: #2#1 652*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 653*e1eccf28SAndroid Build Coastguard Workerend: 654*e1eccf28SAndroid Build Coastguard Worker 655*e1eccf28SAndroid Build Coastguard Workerfunction: cospi 656*e1eccf28SAndroid Build Coastguard Workerversion: 9 657*e1eccf28SAndroid Build Coastguard Workerattrib: const 658*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 659*e1eccf28SAndroid Build Coastguard Workert: f32 660*e1eccf28SAndroid Build Coastguard Workerret: #2#1 661*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 662*e1eccf28SAndroid Build Coastguard Workersummary: Cosine of a number multiplied by pi 663*e1eccf28SAndroid Build Coastguard Workerdescription: 664*e1eccf28SAndroid Build Coastguard Worker Returns the cosine of <code>(v * pi)</code>, where <code>(v * pi)</code> is measured in radians. 665*e1eccf28SAndroid Build Coastguard Worker 666*e1eccf28SAndroid Build Coastguard Worker To get the cosine of a value measured in degrees, call <code>cospi(v / 180.f)</code>. 667*e1eccf28SAndroid Build Coastguard Worker 668*e1eccf28SAndroid Build Coastguard Worker See also @native_cospi(). 669*e1eccf28SAndroid Build Coastguard Workerend: 670*e1eccf28SAndroid Build Coastguard Worker 671*e1eccf28SAndroid Build Coastguard Workerfunction: cospi 672*e1eccf28SAndroid Build Coastguard Workerversion: 24 673*e1eccf28SAndroid Build Coastguard Workerattrib: const 674*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 675*e1eccf28SAndroid Build Coastguard Workert: f16 676*e1eccf28SAndroid Build Coastguard Workerret: #2#1 677*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 678*e1eccf28SAndroid Build Coastguard Workerend: 679*e1eccf28SAndroid Build Coastguard Worker 680*e1eccf28SAndroid Build Coastguard Workerfunction: degrees 681*e1eccf28SAndroid Build Coastguard Workerversion: 9 682*e1eccf28SAndroid Build Coastguard Workerattrib: const 683*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 684*e1eccf28SAndroid Build Coastguard Workert: f32 685*e1eccf28SAndroid Build Coastguard Workerret: #2#1 686*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 687*e1eccf28SAndroid Build Coastguard Workersummary: Converts radians into degrees 688*e1eccf28SAndroid Build Coastguard Workerdescription: 689*e1eccf28SAndroid Build Coastguard Worker Converts from radians to degrees. 690*e1eccf28SAndroid Build Coastguard Workerend: 691*e1eccf28SAndroid Build Coastguard Worker 692*e1eccf28SAndroid Build Coastguard Workerfunction: degrees 693*e1eccf28SAndroid Build Coastguard Workerversion: 24 694*e1eccf28SAndroid Build Coastguard Workerattrib: const 695*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 696*e1eccf28SAndroid Build Coastguard Workert: f16 697*e1eccf28SAndroid Build Coastguard Workerret: #2#1 698*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 699*e1eccf28SAndroid Build Coastguard Workerend: 700*e1eccf28SAndroid Build Coastguard Worker 701*e1eccf28SAndroid Build Coastguard Workerfunction: erf 702*e1eccf28SAndroid Build Coastguard Workerversion: 9 703*e1eccf28SAndroid Build Coastguard Workerattrib: const 704*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 705*e1eccf28SAndroid Build Coastguard Workert: f32 706*e1eccf28SAndroid Build Coastguard Workerret: #2#1 707*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 708*e1eccf28SAndroid Build Coastguard Workersummary: Mathematical error function 709*e1eccf28SAndroid Build Coastguard Workerdescription: 710*e1eccf28SAndroid Build Coastguard Worker Returns the error function. 711*e1eccf28SAndroid Build Coastguard Workerend: 712*e1eccf28SAndroid Build Coastguard Worker 713*e1eccf28SAndroid Build Coastguard Workerfunction: erf 714*e1eccf28SAndroid Build Coastguard Workerversion: 24 715*e1eccf28SAndroid Build Coastguard Workerattrib: const 716*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 717*e1eccf28SAndroid Build Coastguard Workert: f16 718*e1eccf28SAndroid Build Coastguard Workerret: #2#1 719*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 720*e1eccf28SAndroid Build Coastguard Workerend: 721*e1eccf28SAndroid Build Coastguard Worker 722*e1eccf28SAndroid Build Coastguard Workerfunction: erfc 723*e1eccf28SAndroid Build Coastguard Workerversion: 9 724*e1eccf28SAndroid Build Coastguard Workerattrib: const 725*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 726*e1eccf28SAndroid Build Coastguard Workert: f32 727*e1eccf28SAndroid Build Coastguard Workerret: #2#1 728*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 729*e1eccf28SAndroid Build Coastguard Workersummary: Mathematical complementary error function 730*e1eccf28SAndroid Build Coastguard Workerdescription: 731*e1eccf28SAndroid Build Coastguard Worker Returns the complementary error function. 732*e1eccf28SAndroid Build Coastguard Workerend: 733*e1eccf28SAndroid Build Coastguard Worker 734*e1eccf28SAndroid Build Coastguard Workerfunction: erfc 735*e1eccf28SAndroid Build Coastguard Workerversion: 24 736*e1eccf28SAndroid Build Coastguard Workerattrib: const 737*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 738*e1eccf28SAndroid Build Coastguard Workert: f16 739*e1eccf28SAndroid Build Coastguard Workerret: #2#1 740*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 741*e1eccf28SAndroid Build Coastguard Workerend: 742*e1eccf28SAndroid Build Coastguard Worker 743*e1eccf28SAndroid Build Coastguard Workerfunction: exp 744*e1eccf28SAndroid Build Coastguard Workerversion: 9 745*e1eccf28SAndroid Build Coastguard Workerattrib: const 746*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 747*e1eccf28SAndroid Build Coastguard Workert: f32 748*e1eccf28SAndroid Build Coastguard Workerret: #2#1 749*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 750*e1eccf28SAndroid Build Coastguard Workersummary: e raised to a number 751*e1eccf28SAndroid Build Coastguard Workerdescription: 752*e1eccf28SAndroid Build Coastguard Worker Returns e raised to v, i.e. e ^ v. 753*e1eccf28SAndroid Build Coastguard Worker 754*e1eccf28SAndroid Build Coastguard Worker See also @native_exp(). 755*e1eccf28SAndroid Build Coastguard Workerend: 756*e1eccf28SAndroid Build Coastguard Worker 757*e1eccf28SAndroid Build Coastguard Workerfunction: exp 758*e1eccf28SAndroid Build Coastguard Workerversion: 24 759*e1eccf28SAndroid Build Coastguard Workerattrib: const 760*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 761*e1eccf28SAndroid Build Coastguard Workert: f16 762*e1eccf28SAndroid Build Coastguard Workerret: #2#1 763*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 764*e1eccf28SAndroid Build Coastguard Workerend: 765*e1eccf28SAndroid Build Coastguard Worker 766*e1eccf28SAndroid Build Coastguard Workerfunction: exp10 767*e1eccf28SAndroid Build Coastguard Workerversion: 9 768*e1eccf28SAndroid Build Coastguard Workerattrib: const 769*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 770*e1eccf28SAndroid Build Coastguard Workert: f32 771*e1eccf28SAndroid Build Coastguard Workerret: #2#1 772*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 773*e1eccf28SAndroid Build Coastguard Workersummary: 10 raised to a number 774*e1eccf28SAndroid Build Coastguard Workerdescription: 775*e1eccf28SAndroid Build Coastguard Worker Returns 10 raised to v, i.e. 10.f ^ v. 776*e1eccf28SAndroid Build Coastguard Worker 777*e1eccf28SAndroid Build Coastguard Worker See also @native_exp10(). 778*e1eccf28SAndroid Build Coastguard Workerend: 779*e1eccf28SAndroid Build Coastguard Worker 780*e1eccf28SAndroid Build Coastguard Workerfunction: exp10 781*e1eccf28SAndroid Build Coastguard Workerversion: 24 782*e1eccf28SAndroid Build Coastguard Workerattrib: const 783*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 784*e1eccf28SAndroid Build Coastguard Workert: f16 785*e1eccf28SAndroid Build Coastguard Workerret: #2#1 786*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 787*e1eccf28SAndroid Build Coastguard Workerend: 788*e1eccf28SAndroid Build Coastguard Worker 789*e1eccf28SAndroid Build Coastguard Workerfunction: exp2 790*e1eccf28SAndroid Build Coastguard Workerversion: 9 791*e1eccf28SAndroid Build Coastguard Workerattrib: const 792*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 793*e1eccf28SAndroid Build Coastguard Workert: f32 794*e1eccf28SAndroid Build Coastguard Workerret: #2#1 795*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 796*e1eccf28SAndroid Build Coastguard Workersummary: 2 raised to a number 797*e1eccf28SAndroid Build Coastguard Workerdescription: 798*e1eccf28SAndroid Build Coastguard Worker Returns 2 raised to v, i.e. 2.f ^ v. 799*e1eccf28SAndroid Build Coastguard Worker 800*e1eccf28SAndroid Build Coastguard Worker See also @native_exp2(). 801*e1eccf28SAndroid Build Coastguard Workerend: 802*e1eccf28SAndroid Build Coastguard Worker 803*e1eccf28SAndroid Build Coastguard Workerfunction: exp2 804*e1eccf28SAndroid Build Coastguard Workerversion: 24 805*e1eccf28SAndroid Build Coastguard Workerattrib: const 806*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 807*e1eccf28SAndroid Build Coastguard Workert: f16 808*e1eccf28SAndroid Build Coastguard Workerret: #2#1 809*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 810*e1eccf28SAndroid Build Coastguard Workerend: 811*e1eccf28SAndroid Build Coastguard Worker 812*e1eccf28SAndroid Build Coastguard Workerfunction: expm1 813*e1eccf28SAndroid Build Coastguard Workerversion: 9 814*e1eccf28SAndroid Build Coastguard Workerattrib: const 815*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 816*e1eccf28SAndroid Build Coastguard Workert: f32 817*e1eccf28SAndroid Build Coastguard Workerret: #2#1 818*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 819*e1eccf28SAndroid Build Coastguard Workersummary: e raised to a number minus one 820*e1eccf28SAndroid Build Coastguard Workerdescription: 821*e1eccf28SAndroid Build Coastguard Worker Returns e raised to v minus 1, i.e. (e ^ v) - 1. 822*e1eccf28SAndroid Build Coastguard Worker 823*e1eccf28SAndroid Build Coastguard Worker See also @native_expm1(). 824*e1eccf28SAndroid Build Coastguard Workerend: 825*e1eccf28SAndroid Build Coastguard Worker 826*e1eccf28SAndroid Build Coastguard Workerfunction: expm1 827*e1eccf28SAndroid Build Coastguard Workerversion: 24 828*e1eccf28SAndroid Build Coastguard Workerattrib: const 829*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 830*e1eccf28SAndroid Build Coastguard Workert: f16 831*e1eccf28SAndroid Build Coastguard Workerret: #2#1 832*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 833*e1eccf28SAndroid Build Coastguard Workerend: 834*e1eccf28SAndroid Build Coastguard Worker 835*e1eccf28SAndroid Build Coastguard Workerfunction: fabs 836*e1eccf28SAndroid Build Coastguard Workerversion: 9 837*e1eccf28SAndroid Build Coastguard Workerattrib: const 838*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 839*e1eccf28SAndroid Build Coastguard Workert: f32 840*e1eccf28SAndroid Build Coastguard Workerret: #2#1 841*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 842*e1eccf28SAndroid Build Coastguard Workersummary: Absolute value of a float 843*e1eccf28SAndroid Build Coastguard Workerdescription: 844*e1eccf28SAndroid Build Coastguard Worker Returns the absolute value of the float v. 845*e1eccf28SAndroid Build Coastguard Worker 846*e1eccf28SAndroid Build Coastguard Worker For integers, use @abs(). 847*e1eccf28SAndroid Build Coastguard Workerend: 848*e1eccf28SAndroid Build Coastguard Worker 849*e1eccf28SAndroid Build Coastguard Workerfunction: fabs 850*e1eccf28SAndroid Build Coastguard Workerversion: 24 851*e1eccf28SAndroid Build Coastguard Workerattrib: const 852*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 853*e1eccf28SAndroid Build Coastguard Workert: f16 854*e1eccf28SAndroid Build Coastguard Workerret: #2#1 855*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 856*e1eccf28SAndroid Build Coastguard Workerend: 857*e1eccf28SAndroid Build Coastguard Worker 858*e1eccf28SAndroid Build Coastguard Workerfunction: fdim 859*e1eccf28SAndroid Build Coastguard Workerversion: 9 860*e1eccf28SAndroid Build Coastguard Workerattrib: const 861*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 862*e1eccf28SAndroid Build Coastguard Workert: f32 863*e1eccf28SAndroid Build Coastguard Workerret: #2#1 864*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 865*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 866*e1eccf28SAndroid Build Coastguard Workersummary: Positive difference between two values 867*e1eccf28SAndroid Build Coastguard Workerdescription: 868*e1eccf28SAndroid Build Coastguard Worker Returns the positive difference between two values. 869*e1eccf28SAndroid Build Coastguard Worker 870*e1eccf28SAndroid Build Coastguard Worker If a > b, returns (a - b) otherwise returns 0f. 871*e1eccf28SAndroid Build Coastguard Workerend: 872*e1eccf28SAndroid Build Coastguard Worker 873*e1eccf28SAndroid Build Coastguard Workerfunction: fdim 874*e1eccf28SAndroid Build Coastguard Workerversion: 24 875*e1eccf28SAndroid Build Coastguard Workerattrib: const 876*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 877*e1eccf28SAndroid Build Coastguard Workert: f16 878*e1eccf28SAndroid Build Coastguard Workerret: #2#1 879*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 880*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 881*e1eccf28SAndroid Build Coastguard Workerend: 882*e1eccf28SAndroid Build Coastguard Worker 883*e1eccf28SAndroid Build Coastguard Workerfunction: floor 884*e1eccf28SAndroid Build Coastguard Workerversion: 9 885*e1eccf28SAndroid Build Coastguard Workerattrib: const 886*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 887*e1eccf28SAndroid Build Coastguard Workert: f32 888*e1eccf28SAndroid Build Coastguard Workerret: #2#1 889*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 890*e1eccf28SAndroid Build Coastguard Workersummary: Smallest integer not greater than a value 891*e1eccf28SAndroid Build Coastguard Workerdescription: 892*e1eccf28SAndroid Build Coastguard Worker Returns the smallest integer not greater than a value. 893*e1eccf28SAndroid Build Coastguard Worker 894*e1eccf28SAndroid Build Coastguard Worker For example, <code>floor(1.2f)</code> returns 1.f, and <code>floor(-1.2f)</code> returns -2.f. 895*e1eccf28SAndroid Build Coastguard Worker 896*e1eccf28SAndroid Build Coastguard Worker See also @ceil(). 897*e1eccf28SAndroid Build Coastguard Workerend: 898*e1eccf28SAndroid Build Coastguard Worker 899*e1eccf28SAndroid Build Coastguard Workerfunction: floor 900*e1eccf28SAndroid Build Coastguard Workerversion: 24 901*e1eccf28SAndroid Build Coastguard Workerattrib: const 902*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 903*e1eccf28SAndroid Build Coastguard Workert: f16 904*e1eccf28SAndroid Build Coastguard Workerret: #2#1 905*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 906*e1eccf28SAndroid Build Coastguard Workerend: 907*e1eccf28SAndroid Build Coastguard Worker 908*e1eccf28SAndroid Build Coastguard Workerfunction: fma 909*e1eccf28SAndroid Build Coastguard Workerversion: 9 910*e1eccf28SAndroid Build Coastguard Workerattrib: const 911*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 912*e1eccf28SAndroid Build Coastguard Workert: f32 913*e1eccf28SAndroid Build Coastguard Workerret: #2#1 914*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 multiplicand1 915*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 multiplicand2 916*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 offset 917*e1eccf28SAndroid Build Coastguard Workersummary: Multiply and add 918*e1eccf28SAndroid Build Coastguard Workerdescription: 919*e1eccf28SAndroid Build Coastguard Worker Multiply and add. Returns <code>(multiplicand1 * multiplicand2) + offset</code>. 920*e1eccf28SAndroid Build Coastguard Worker 921*e1eccf28SAndroid Build Coastguard Worker This function is similar to @mad(). fma() retains full precision of the multiplied result 922*e1eccf28SAndroid Build Coastguard Worker and rounds only after the addition. @mad() rounds after the multiplication and the addition. 923*e1eccf28SAndroid Build Coastguard Worker This extra precision is not guaranteed in rs_fp_relaxed mode. 924*e1eccf28SAndroid Build Coastguard Workerend: 925*e1eccf28SAndroid Build Coastguard Worker 926*e1eccf28SAndroid Build Coastguard Workerfunction: fma 927*e1eccf28SAndroid Build Coastguard Workerversion: 24 928*e1eccf28SAndroid Build Coastguard Workerattrib: const 929*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 930*e1eccf28SAndroid Build Coastguard Workert: f16 931*e1eccf28SAndroid Build Coastguard Workerret: #2#1 932*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 multiplicand1 933*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 multiplicand2 934*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 offset 935*e1eccf28SAndroid Build Coastguard Workerend: 936*e1eccf28SAndroid Build Coastguard Worker 937*e1eccf28SAndroid Build Coastguard Workerfunction: fmax 938*e1eccf28SAndroid Build Coastguard Workerversion: 9 939*e1eccf28SAndroid Build Coastguard Workerattrib: const 940*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 941*e1eccf28SAndroid Build Coastguard Workert: f32 942*e1eccf28SAndroid Build Coastguard Workerret: #2#1 943*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 944*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 945*e1eccf28SAndroid Build Coastguard Workersummary: Maximum of two floats 946*e1eccf28SAndroid Build Coastguard Workerdescription: 947*e1eccf28SAndroid Build Coastguard Worker Returns the maximum of a and b, i.e. <code>(a < b ? b : a)</code>. 948*e1eccf28SAndroid Build Coastguard Worker 949*e1eccf28SAndroid Build Coastguard Worker The @max() function returns identical results but can be applied to more data types. 950*e1eccf28SAndroid Build Coastguard Workerend: 951*e1eccf28SAndroid Build Coastguard Worker 952*e1eccf28SAndroid Build Coastguard Workerfunction: fmax 953*e1eccf28SAndroid Build Coastguard Workerversion: 24 954*e1eccf28SAndroid Build Coastguard Workerattrib: const 955*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 956*e1eccf28SAndroid Build Coastguard Workert: f16 957*e1eccf28SAndroid Build Coastguard Workerret: #2#1 958*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 959*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 960*e1eccf28SAndroid Build Coastguard Workerend: 961*e1eccf28SAndroid Build Coastguard Worker 962*e1eccf28SAndroid Build Coastguard Workerfunction: fmax 963*e1eccf28SAndroid Build Coastguard Workerversion: 9 964*e1eccf28SAndroid Build Coastguard Workerattrib: const 965*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 966*e1eccf28SAndroid Build Coastguard Workert: f32 967*e1eccf28SAndroid Build Coastguard Workerret: #2#1 968*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 969*e1eccf28SAndroid Build Coastguard Workerarg: #2 b 970*e1eccf28SAndroid Build Coastguard Workerend: 971*e1eccf28SAndroid Build Coastguard Worker 972*e1eccf28SAndroid Build Coastguard Workerfunction: fmax 973*e1eccf28SAndroid Build Coastguard Workerversion: 24 974*e1eccf28SAndroid Build Coastguard Workerattrib: const 975*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 976*e1eccf28SAndroid Build Coastguard Workert: f16 977*e1eccf28SAndroid Build Coastguard Workerret: #2#1 978*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 979*e1eccf28SAndroid Build Coastguard Workerarg: #2 b 980*e1eccf28SAndroid Build Coastguard Workerend: 981*e1eccf28SAndroid Build Coastguard Worker 982*e1eccf28SAndroid Build Coastguard Workerfunction: fmin 983*e1eccf28SAndroid Build Coastguard Workerversion: 9 984*e1eccf28SAndroid Build Coastguard Workerattrib: const 985*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 986*e1eccf28SAndroid Build Coastguard Workert: f32 987*e1eccf28SAndroid Build Coastguard Workerret: #2#1 988*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 989*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 990*e1eccf28SAndroid Build Coastguard Workersummary: Minimum of two floats 991*e1eccf28SAndroid Build Coastguard Workerdescription: 992*e1eccf28SAndroid Build Coastguard Worker Returns the minimum of a and b, i.e. <code>(a > b ? b : a)</code>. 993*e1eccf28SAndroid Build Coastguard Worker 994*e1eccf28SAndroid Build Coastguard Worker The @min() function returns identical results but can be applied to more data types. 995*e1eccf28SAndroid Build Coastguard Workerend: 996*e1eccf28SAndroid Build Coastguard Worker 997*e1eccf28SAndroid Build Coastguard Workerfunction: fmin 998*e1eccf28SAndroid Build Coastguard Workerversion: 24 999*e1eccf28SAndroid Build Coastguard Workerattrib: const 1000*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1001*e1eccf28SAndroid Build Coastguard Workert: f16 1002*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1003*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1004*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1005*e1eccf28SAndroid Build Coastguard Workerend: 1006*e1eccf28SAndroid Build Coastguard Worker 1007*e1eccf28SAndroid Build Coastguard Workerfunction: fmin 1008*e1eccf28SAndroid Build Coastguard Workerversion: 9 1009*e1eccf28SAndroid Build Coastguard Workerattrib: const 1010*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1011*e1eccf28SAndroid Build Coastguard Workert: f32 1012*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1013*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1014*e1eccf28SAndroid Build Coastguard Workerarg: #2 b 1015*e1eccf28SAndroid Build Coastguard Workerend: 1016*e1eccf28SAndroid Build Coastguard Worker 1017*e1eccf28SAndroid Build Coastguard Workerfunction: fmin 1018*e1eccf28SAndroid Build Coastguard Workerversion: 24 1019*e1eccf28SAndroid Build Coastguard Workerattrib: const 1020*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1021*e1eccf28SAndroid Build Coastguard Workert: f16 1022*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1023*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1024*e1eccf28SAndroid Build Coastguard Workerarg: #2 b 1025*e1eccf28SAndroid Build Coastguard Workerend: 1026*e1eccf28SAndroid Build Coastguard Worker 1027*e1eccf28SAndroid Build Coastguard Workerfunction: fmod 1028*e1eccf28SAndroid Build Coastguard Workerversion: 9 1029*e1eccf28SAndroid Build Coastguard Workerattrib: const 1030*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1031*e1eccf28SAndroid Build Coastguard Workert: f32 1032*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1033*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 1034*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 1035*e1eccf28SAndroid Build Coastguard Workersummary: Modulo 1036*e1eccf28SAndroid Build Coastguard Workerdescription: 1037*e1eccf28SAndroid Build Coastguard Worker Returns the remainder of (numerator / denominator), where the quotient is rounded towards zero. 1038*e1eccf28SAndroid Build Coastguard Worker 1039*e1eccf28SAndroid Build Coastguard Worker The function @remainder() is similar but rounds toward the closest interger. 1040*e1eccf28SAndroid Build Coastguard Worker For example, <code>fmod(-3.8f, 2.f)</code> returns -1.8f (-3.8f - -1.f * 2.f) 1041*e1eccf28SAndroid Build Coastguard Worker while <code>@remainder(-3.8f, 2.f)</code> returns 0.2f (-3.8f - -2.f * 2.f). 1042*e1eccf28SAndroid Build Coastguard Workerend: 1043*e1eccf28SAndroid Build Coastguard Worker 1044*e1eccf28SAndroid Build Coastguard Workerfunction: fmod 1045*e1eccf28SAndroid Build Coastguard Workerversion: 24 1046*e1eccf28SAndroid Build Coastguard Workerattrib: const 1047*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1048*e1eccf28SAndroid Build Coastguard Workert: f16 1049*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1050*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 1051*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 1052*e1eccf28SAndroid Build Coastguard Workerend: 1053*e1eccf28SAndroid Build Coastguard Worker 1054*e1eccf28SAndroid Build Coastguard Workerfunction: fract 1055*e1eccf28SAndroid Build Coastguard Workerversion: 9 1056*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1057*e1eccf28SAndroid Build Coastguard Workert: f32 1058*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1059*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, "Input value." 1060*e1eccf28SAndroid Build Coastguard Workerarg: #2#1* floor, "If floor is not null, *floor will be set to the floor of v." 1061*e1eccf28SAndroid Build Coastguard Workersummary: Positive fractional part 1062*e1eccf28SAndroid Build Coastguard Workerdescription: 1063*e1eccf28SAndroid Build Coastguard Worker Returns the positive fractional part of v, i.e. <code>v - floor(v)</code>. 1064*e1eccf28SAndroid Build Coastguard Worker 1065*e1eccf28SAndroid Build Coastguard Worker For example, <code>fract(1.3f, &val)</code> returns 0.3f and sets val to 1.f. 1066*e1eccf28SAndroid Build Coastguard Worker <code>fract(-1.3f, &val)</code> returns 0.7f and sets val to -2.f. 1067*e1eccf28SAndroid Build Coastguard Workerend: 1068*e1eccf28SAndroid Build Coastguard Worker 1069*e1eccf28SAndroid Build Coastguard Workerfunction: fract 1070*e1eccf28SAndroid Build Coastguard Workerversion: 9 23 1071*e1eccf28SAndroid Build Coastguard Workerattrib: const 1072*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1073*e1eccf28SAndroid Build Coastguard Workert: f32 1074*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1075*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1076*e1eccf28SAndroid Build Coastguard Workerinline: 1077*e1eccf28SAndroid Build Coastguard Worker #2#1 unused; 1078*e1eccf28SAndroid Build Coastguard Worker return fract(v, &unused); 1079*e1eccf28SAndroid Build Coastguard Workerend: 1080*e1eccf28SAndroid Build Coastguard Worker 1081*e1eccf28SAndroid Build Coastguard Workerfunction: fract 1082*e1eccf28SAndroid Build Coastguard Workerversion: 24 1083*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1084*e1eccf28SAndroid Build Coastguard Workert: f32 1085*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1086*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1087*e1eccf28SAndroid Build Coastguard Workerend: 1088*e1eccf28SAndroid Build Coastguard Worker 1089*e1eccf28SAndroid Build Coastguard Workerfunction: fract 1090*e1eccf28SAndroid Build Coastguard Workerversion: 24 1091*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1092*e1eccf28SAndroid Build Coastguard Workert: f16 1093*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1094*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1095*e1eccf28SAndroid Build Coastguard Workerarg: #2#1* floor 1096*e1eccf28SAndroid Build Coastguard Workerend: 1097*e1eccf28SAndroid Build Coastguard Worker 1098*e1eccf28SAndroid Build Coastguard Workerfunction: fract 1099*e1eccf28SAndroid Build Coastguard Workerversion: 24 1100*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1101*e1eccf28SAndroid Build Coastguard Workert: f16 1102*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1103*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1104*e1eccf28SAndroid Build Coastguard Workerend: 1105*e1eccf28SAndroid Build Coastguard Worker 1106*e1eccf28SAndroid Build Coastguard Workerfunction: frexp 1107*e1eccf28SAndroid Build Coastguard Workerversion: 9 1108*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1109*e1eccf28SAndroid Build Coastguard Workert: f32 1110*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1111*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, "Input value." 1112*e1eccf28SAndroid Build Coastguard Workerarg: int#1* exponent, "If exponent is not null, *exponent will be set to the exponent of v." 1113*e1eccf28SAndroid Build Coastguard Workersummary: Binary mantissa and exponent 1114*e1eccf28SAndroid Build Coastguard Workerdescription: 1115*e1eccf28SAndroid Build Coastguard Worker Returns the binary mantissa and exponent of v, i.e. <code>v == mantissa * 2 ^ exponent</code>. 1116*e1eccf28SAndroid Build Coastguard Worker 1117*e1eccf28SAndroid Build Coastguard Worker The mantissa is always between 0.5 (inclusive) and 1.0 (exclusive). 1118*e1eccf28SAndroid Build Coastguard Worker 1119*e1eccf28SAndroid Build Coastguard Worker See @ldexp() for the reverse operation. See also @logb() and @ilogb(). 1120*e1eccf28SAndroid Build Coastguard Workerend: 1121*e1eccf28SAndroid Build Coastguard Worker 1122*e1eccf28SAndroid Build Coastguard Workerfunction: frexp 1123*e1eccf28SAndroid Build Coastguard Workerversion: 24 1124*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1125*e1eccf28SAndroid Build Coastguard Workert: f16 1126*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1127*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1128*e1eccf28SAndroid Build Coastguard Workerarg: int#1* exponent 1129*e1eccf28SAndroid Build Coastguard Workertest: none 1130*e1eccf28SAndroid Build Coastguard Workerend: 1131*e1eccf28SAndroid Build Coastguard Worker 1132*e1eccf28SAndroid Build Coastguard Workerfunction: half_recip 1133*e1eccf28SAndroid Build Coastguard Workerversion: 17 1134*e1eccf28SAndroid Build Coastguard Workerattrib: const 1135*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1136*e1eccf28SAndroid Build Coastguard Workert: f32 1137*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1138*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1139*e1eccf28SAndroid Build Coastguard Workersummary: Reciprocal computed to 16 bit precision 1140*e1eccf28SAndroid Build Coastguard Workerdescription: 1141*e1eccf28SAndroid Build Coastguard Worker Returns the approximate reciprocal of a value. 1142*e1eccf28SAndroid Build Coastguard Worker 1143*e1eccf28SAndroid Build Coastguard Worker The precision is that of a 16 bit floating point value. 1144*e1eccf28SAndroid Build Coastguard Worker 1145*e1eccf28SAndroid Build Coastguard Worker See also @native_recip(). 1146*e1eccf28SAndroid Build Coastguard Workerend: 1147*e1eccf28SAndroid Build Coastguard Worker 1148*e1eccf28SAndroid Build Coastguard Workerfunction: half_rsqrt 1149*e1eccf28SAndroid Build Coastguard Workerversion: 17 1150*e1eccf28SAndroid Build Coastguard Workerattrib: const 1151*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1152*e1eccf28SAndroid Build Coastguard Workert: f32 1153*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1154*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1155*e1eccf28SAndroid Build Coastguard Workersummary: Reciprocal of a square root computed to 16 bit precision 1156*e1eccf28SAndroid Build Coastguard Workerdescription: 1157*e1eccf28SAndroid Build Coastguard Worker Returns the approximate value of <code>(1.f / sqrt(value))</code>. 1158*e1eccf28SAndroid Build Coastguard Worker 1159*e1eccf28SAndroid Build Coastguard Worker The precision is that of a 16 bit floating point value. 1160*e1eccf28SAndroid Build Coastguard Worker 1161*e1eccf28SAndroid Build Coastguard Worker See also @rsqrt(), @native_rsqrt(). 1162*e1eccf28SAndroid Build Coastguard Workerend: 1163*e1eccf28SAndroid Build Coastguard Worker 1164*e1eccf28SAndroid Build Coastguard Workerfunction: half_sqrt 1165*e1eccf28SAndroid Build Coastguard Workerversion: 17 1166*e1eccf28SAndroid Build Coastguard Workerattrib: const 1167*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1168*e1eccf28SAndroid Build Coastguard Workert: f32 1169*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1170*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1171*e1eccf28SAndroid Build Coastguard Workersummary: Square root computed to 16 bit precision 1172*e1eccf28SAndroid Build Coastguard Workerdescription: 1173*e1eccf28SAndroid Build Coastguard Worker Returns the approximate square root of a value. 1174*e1eccf28SAndroid Build Coastguard Worker 1175*e1eccf28SAndroid Build Coastguard Worker The precision is that of a 16 bit floating point value. 1176*e1eccf28SAndroid Build Coastguard Worker 1177*e1eccf28SAndroid Build Coastguard Worker See also @sqrt(), @native_sqrt(). 1178*e1eccf28SAndroid Build Coastguard Workerend: 1179*e1eccf28SAndroid Build Coastguard Worker 1180*e1eccf28SAndroid Build Coastguard Workerfunction: hypot 1181*e1eccf28SAndroid Build Coastguard Workerversion: 9 1182*e1eccf28SAndroid Build Coastguard Workerattrib: const 1183*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1184*e1eccf28SAndroid Build Coastguard Workert: f32 1185*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1186*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1187*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1188*e1eccf28SAndroid Build Coastguard Workersummary: Hypotenuse 1189*e1eccf28SAndroid Build Coastguard Workerdescription: 1190*e1eccf28SAndroid Build Coastguard Worker Returns the hypotenuse, i.e. <code>sqrt(a * a + b * b)</code>. 1191*e1eccf28SAndroid Build Coastguard Worker 1192*e1eccf28SAndroid Build Coastguard Worker See also @native_hypot(). 1193*e1eccf28SAndroid Build Coastguard Workerend: 1194*e1eccf28SAndroid Build Coastguard Worker 1195*e1eccf28SAndroid Build Coastguard Workerfunction: hypot 1196*e1eccf28SAndroid Build Coastguard Workerversion: 24 1197*e1eccf28SAndroid Build Coastguard Workerattrib: const 1198*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1199*e1eccf28SAndroid Build Coastguard Workert: f16 1200*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1201*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1202*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1203*e1eccf28SAndroid Build Coastguard Workerend: 1204*e1eccf28SAndroid Build Coastguard Worker 1205*e1eccf28SAndroid Build Coastguard Workerfunction: ilogb 1206*e1eccf28SAndroid Build Coastguard Workerversion: 9 1207*e1eccf28SAndroid Build Coastguard Workerattrib: const 1208*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1209*e1eccf28SAndroid Build Coastguard Workert: f32 1210*e1eccf28SAndroid Build Coastguard Workerret: int#1 1211*e1eccf28SAndroid Build Coastguard Workerarg: float#1 v 1212*e1eccf28SAndroid Build Coastguard Workersummary: Base two exponent 1213*e1eccf28SAndroid Build Coastguard Workerdescription: 1214*e1eccf28SAndroid Build Coastguard Worker Returns the base two exponent of a value, where the mantissa is between 1215*e1eccf28SAndroid Build Coastguard Worker 1.f (inclusive) and 2.f (exclusive). 1216*e1eccf28SAndroid Build Coastguard Worker 1217*e1eccf28SAndroid Build Coastguard Worker For example, <code>ilogb(8.5f)</code> returns 3. 1218*e1eccf28SAndroid Build Coastguard Worker 1219*e1eccf28SAndroid Build Coastguard Worker Because of the difference in mantissa, this number is one less than is returned by @frexp(). 1220*e1eccf28SAndroid Build Coastguard Worker 1221*e1eccf28SAndroid Build Coastguard Worker @logb() is similar but returns a float. 1222*e1eccf28SAndroid Build Coastguard Workertest: custom 1223*e1eccf28SAndroid Build Coastguard Workerend: 1224*e1eccf28SAndroid Build Coastguard Worker 1225*e1eccf28SAndroid Build Coastguard Workerfunction: ilogb 1226*e1eccf28SAndroid Build Coastguard Workerversion: 24 1227*e1eccf28SAndroid Build Coastguard Workerattrib: const 1228*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1229*e1eccf28SAndroid Build Coastguard Workert: f16 1230*e1eccf28SAndroid Build Coastguard Workerret: int#1 1231*e1eccf28SAndroid Build Coastguard Workerarg: half#1 v 1232*e1eccf28SAndroid Build Coastguard Workertest: none 1233*e1eccf28SAndroid Build Coastguard Workerend: 1234*e1eccf28SAndroid Build Coastguard Worker 1235*e1eccf28SAndroid Build Coastguard Workerfunction: ldexp 1236*e1eccf28SAndroid Build Coastguard Workerversion: 9 1237*e1eccf28SAndroid Build Coastguard Workerattrib: const 1238*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1239*e1eccf28SAndroid Build Coastguard Workerret: float#1 1240*e1eccf28SAndroid Build Coastguard Workerarg: float#1 mantissa, "Mantissa." 1241*e1eccf28SAndroid Build Coastguard Workerarg: int#1 exponent, "Exponent, a single component or matching vector." 1242*e1eccf28SAndroid Build Coastguard Workersummary: Creates a floating point from mantissa and exponent 1243*e1eccf28SAndroid Build Coastguard Workerdescription: 1244*e1eccf28SAndroid Build Coastguard Worker Returns the floating point created from the mantissa and exponent, 1245*e1eccf28SAndroid Build Coastguard Worker i.e. (mantissa * 2 ^ exponent). 1246*e1eccf28SAndroid Build Coastguard Worker 1247*e1eccf28SAndroid Build Coastguard Worker See @frexp() for the reverse operation. 1248*e1eccf28SAndroid Build Coastguard Workerend: 1249*e1eccf28SAndroid Build Coastguard Worker 1250*e1eccf28SAndroid Build Coastguard Workerfunction: ldexp 1251*e1eccf28SAndroid Build Coastguard Workerversion: 24 1252*e1eccf28SAndroid Build Coastguard Workerattrib: const 1253*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1254*e1eccf28SAndroid Build Coastguard Workerret: half#1 1255*e1eccf28SAndroid Build Coastguard Workerarg: half#1 mantissa 1256*e1eccf28SAndroid Build Coastguard Workerarg: int#1 exponent 1257*e1eccf28SAndroid Build Coastguard Workertest: none 1258*e1eccf28SAndroid Build Coastguard Workerend: 1259*e1eccf28SAndroid Build Coastguard Worker 1260*e1eccf28SAndroid Build Coastguard Workerfunction: ldexp 1261*e1eccf28SAndroid Build Coastguard Workerversion: 9 1262*e1eccf28SAndroid Build Coastguard Workerattrib: const 1263*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1264*e1eccf28SAndroid Build Coastguard Workerret: float#1 1265*e1eccf28SAndroid Build Coastguard Workerarg: float#1 mantissa 1266*e1eccf28SAndroid Build Coastguard Workerarg: int exponent 1267*e1eccf28SAndroid Build Coastguard Workerend: 1268*e1eccf28SAndroid Build Coastguard Worker 1269*e1eccf28SAndroid Build Coastguard Workerfunction: ldexp 1270*e1eccf28SAndroid Build Coastguard Workerversion: 24 1271*e1eccf28SAndroid Build Coastguard Workerattrib: const 1272*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1273*e1eccf28SAndroid Build Coastguard Workerret: half#1 1274*e1eccf28SAndroid Build Coastguard Workerarg: half#1 mantissa 1275*e1eccf28SAndroid Build Coastguard Workerarg: int exponent 1276*e1eccf28SAndroid Build Coastguard Workertest: none 1277*e1eccf28SAndroid Build Coastguard Workerend: 1278*e1eccf28SAndroid Build Coastguard Worker 1279*e1eccf28SAndroid Build Coastguard Workerfunction: lgamma 1280*e1eccf28SAndroid Build Coastguard Workerversion: 9 1281*e1eccf28SAndroid Build Coastguard Workerattrib: const 1282*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1283*e1eccf28SAndroid Build Coastguard Workert: f32 1284*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1285*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1286*e1eccf28SAndroid Build Coastguard Workersummary: Natural logarithm of the gamma function 1287*e1eccf28SAndroid Build Coastguard Workerdescription: 1288*e1eccf28SAndroid Build Coastguard Worker Returns the natural logarithm of the absolute value of the gamma function, 1289*e1eccf28SAndroid Build Coastguard Worker i.e. <code>@log(@fabs(@tgamma(v)))</code>. 1290*e1eccf28SAndroid Build Coastguard Worker 1291*e1eccf28SAndroid Build Coastguard Worker See also @tgamma(). 1292*e1eccf28SAndroid Build Coastguard Workerend: 1293*e1eccf28SAndroid Build Coastguard Worker 1294*e1eccf28SAndroid Build Coastguard Workerfunction: lgamma 1295*e1eccf28SAndroid Build Coastguard Workerversion: 24 1296*e1eccf28SAndroid Build Coastguard Workerattrib: const 1297*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1298*e1eccf28SAndroid Build Coastguard Workert: f16 1299*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1300*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1301*e1eccf28SAndroid Build Coastguard Workertest: none 1302*e1eccf28SAndroid Build Coastguard Workerend: 1303*e1eccf28SAndroid Build Coastguard Worker 1304*e1eccf28SAndroid Build Coastguard Workerfunction: lgamma 1305*e1eccf28SAndroid Build Coastguard Workerversion: 9 1306*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1307*e1eccf28SAndroid Build Coastguard Workert: f32 1308*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1309*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1310*e1eccf28SAndroid Build Coastguard Workerarg: int#1* sign_of_gamma, "If sign_of_gamma is not null, *sign_of_gamma will be set to -1.f if the gamma of v is negative, otherwise to 1.f." 1311*e1eccf28SAndroid Build Coastguard Workertest: custom 1312*e1eccf28SAndroid Build Coastguard Worker#TODO Temporary until bionic & associated drivers are fixed 1313*e1eccf28SAndroid Build Coastguard Workerend: 1314*e1eccf28SAndroid Build Coastguard Worker 1315*e1eccf28SAndroid Build Coastguard Workerfunction: lgamma 1316*e1eccf28SAndroid Build Coastguard Workerversion: 24 1317*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1318*e1eccf28SAndroid Build Coastguard Workert: f16 1319*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1320*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1321*e1eccf28SAndroid Build Coastguard Workerarg: int#1* sign_of_gamma 1322*e1eccf28SAndroid Build Coastguard Workertest: none 1323*e1eccf28SAndroid Build Coastguard Workerend: 1324*e1eccf28SAndroid Build Coastguard Worker 1325*e1eccf28SAndroid Build Coastguard Workerfunction: log 1326*e1eccf28SAndroid Build Coastguard Workerversion: 9 1327*e1eccf28SAndroid Build Coastguard Workerattrib: const 1328*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1329*e1eccf28SAndroid Build Coastguard Workert: f32 1330*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1331*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1332*e1eccf28SAndroid Build Coastguard Workersummary: Natural logarithm 1333*e1eccf28SAndroid Build Coastguard Workerdescription: 1334*e1eccf28SAndroid Build Coastguard Worker Returns the natural logarithm. 1335*e1eccf28SAndroid Build Coastguard Worker 1336*e1eccf28SAndroid Build Coastguard Worker See also @native_log(). 1337*e1eccf28SAndroid Build Coastguard Workerend: 1338*e1eccf28SAndroid Build Coastguard Worker 1339*e1eccf28SAndroid Build Coastguard Workerfunction: log 1340*e1eccf28SAndroid Build Coastguard Workerversion: 24 1341*e1eccf28SAndroid Build Coastguard Workerattrib: const 1342*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1343*e1eccf28SAndroid Build Coastguard Workert: f16 1344*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1345*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1346*e1eccf28SAndroid Build Coastguard Workerend: 1347*e1eccf28SAndroid Build Coastguard Worker 1348*e1eccf28SAndroid Build Coastguard Workerfunction: log10 1349*e1eccf28SAndroid Build Coastguard Workerversion: 9 1350*e1eccf28SAndroid Build Coastguard Workerattrib: const 1351*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1352*e1eccf28SAndroid Build Coastguard Workert: f32 1353*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1354*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1355*e1eccf28SAndroid Build Coastguard Workersummary: Base 10 logarithm 1356*e1eccf28SAndroid Build Coastguard Workerdescription: 1357*e1eccf28SAndroid Build Coastguard Worker Returns the base 10 logarithm. 1358*e1eccf28SAndroid Build Coastguard Worker 1359*e1eccf28SAndroid Build Coastguard Worker See also @native_log10(). 1360*e1eccf28SAndroid Build Coastguard Workerend: 1361*e1eccf28SAndroid Build Coastguard Worker 1362*e1eccf28SAndroid Build Coastguard Workerfunction: log10 1363*e1eccf28SAndroid Build Coastguard Workerversion: 24 1364*e1eccf28SAndroid Build Coastguard Workerattrib: const 1365*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1366*e1eccf28SAndroid Build Coastguard Workert: f16 1367*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1368*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1369*e1eccf28SAndroid Build Coastguard Workerend: 1370*e1eccf28SAndroid Build Coastguard Worker 1371*e1eccf28SAndroid Build Coastguard Workerfunction: log1p 1372*e1eccf28SAndroid Build Coastguard Workerversion: 9 1373*e1eccf28SAndroid Build Coastguard Workerattrib: const 1374*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1375*e1eccf28SAndroid Build Coastguard Workert: f32 1376*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1377*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1378*e1eccf28SAndroid Build Coastguard Workersummary: Natural logarithm of a value plus 1 1379*e1eccf28SAndroid Build Coastguard Workerdescription: 1380*e1eccf28SAndroid Build Coastguard Worker Returns the natural logarithm of <code>(v + 1.f)</code>. 1381*e1eccf28SAndroid Build Coastguard Worker 1382*e1eccf28SAndroid Build Coastguard Worker See also @native_log1p(). 1383*e1eccf28SAndroid Build Coastguard Workerend: 1384*e1eccf28SAndroid Build Coastguard Worker 1385*e1eccf28SAndroid Build Coastguard Workerfunction: log1p 1386*e1eccf28SAndroid Build Coastguard Workerversion: 24 1387*e1eccf28SAndroid Build Coastguard Workerattrib: const 1388*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1389*e1eccf28SAndroid Build Coastguard Workert: f16 1390*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1391*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1392*e1eccf28SAndroid Build Coastguard Workerend: 1393*e1eccf28SAndroid Build Coastguard Worker 1394*e1eccf28SAndroid Build Coastguard Workerfunction: log2 1395*e1eccf28SAndroid Build Coastguard Workerversion: 9 1396*e1eccf28SAndroid Build Coastguard Workerattrib: const 1397*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1398*e1eccf28SAndroid Build Coastguard Workert: f32 1399*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1400*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1401*e1eccf28SAndroid Build Coastguard Workersummary: Base 2 logarithm 1402*e1eccf28SAndroid Build Coastguard Workerdescription: 1403*e1eccf28SAndroid Build Coastguard Worker Returns the base 2 logarithm. 1404*e1eccf28SAndroid Build Coastguard Worker 1405*e1eccf28SAndroid Build Coastguard Worker See also @native_log2(). 1406*e1eccf28SAndroid Build Coastguard Workerend: 1407*e1eccf28SAndroid Build Coastguard Worker 1408*e1eccf28SAndroid Build Coastguard Workerfunction: log2 1409*e1eccf28SAndroid Build Coastguard Workerversion: 24 1410*e1eccf28SAndroid Build Coastguard Workerattrib: const 1411*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1412*e1eccf28SAndroid Build Coastguard Workert: f16 1413*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1414*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1415*e1eccf28SAndroid Build Coastguard Workerend: 1416*e1eccf28SAndroid Build Coastguard Worker 1417*e1eccf28SAndroid Build Coastguard Workerfunction: logb 1418*e1eccf28SAndroid Build Coastguard Workerversion: 9 1419*e1eccf28SAndroid Build Coastguard Workerattrib: const 1420*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1421*e1eccf28SAndroid Build Coastguard Workert: f32 1422*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1423*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1424*e1eccf28SAndroid Build Coastguard Workersummary: Base two exponent 1425*e1eccf28SAndroid Build Coastguard Workerdescription: 1426*e1eccf28SAndroid Build Coastguard Worker Returns the base two exponent of a value, where the mantissa is between 1427*e1eccf28SAndroid Build Coastguard Worker 1.f (inclusive) and 2.f (exclusive). 1428*e1eccf28SAndroid Build Coastguard Worker 1429*e1eccf28SAndroid Build Coastguard Worker For example, <code>logb(8.5f)</code> returns 3.f. 1430*e1eccf28SAndroid Build Coastguard Worker 1431*e1eccf28SAndroid Build Coastguard Worker Because of the difference in mantissa, this number is one less than is returned by frexp(). 1432*e1eccf28SAndroid Build Coastguard Worker 1433*e1eccf28SAndroid Build Coastguard Worker @ilogb() is similar but returns an integer. 1434*e1eccf28SAndroid Build Coastguard Workerend: 1435*e1eccf28SAndroid Build Coastguard Worker 1436*e1eccf28SAndroid Build Coastguard Workerfunction: logb 1437*e1eccf28SAndroid Build Coastguard Workerversion: 24 1438*e1eccf28SAndroid Build Coastguard Workerattrib: const 1439*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1440*e1eccf28SAndroid Build Coastguard Workert: f16 1441*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1442*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1443*e1eccf28SAndroid Build Coastguard Workerend: 1444*e1eccf28SAndroid Build Coastguard Worker 1445*e1eccf28SAndroid Build Coastguard Workerfunction: mad 1446*e1eccf28SAndroid Build Coastguard Workerversion: 9 1447*e1eccf28SAndroid Build Coastguard Workerattrib: const 1448*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1449*e1eccf28SAndroid Build Coastguard Workert: f32 1450*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1451*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 multiplicand1 1452*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 multiplicand2 1453*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 offset 1454*e1eccf28SAndroid Build Coastguard Workersummary: Multiply and add 1455*e1eccf28SAndroid Build Coastguard Workerdescription: 1456*e1eccf28SAndroid Build Coastguard Worker Multiply and add. Returns <code>(multiplicand1 * multiplicand2) + offset</code>. 1457*e1eccf28SAndroid Build Coastguard Worker 1458*e1eccf28SAndroid Build Coastguard Worker This function is similar to @fma(). @fma() retains full precision of the multiplied result 1459*e1eccf28SAndroid Build Coastguard Worker and rounds only after the addition. mad() rounds after the multiplication and the addition. 1460*e1eccf28SAndroid Build Coastguard Worker In rs_fp_relaxed mode, mad() may not do the rounding after multiplicaiton. 1461*e1eccf28SAndroid Build Coastguard Workerend: 1462*e1eccf28SAndroid Build Coastguard Worker 1463*e1eccf28SAndroid Build Coastguard Workerfunction: mad 1464*e1eccf28SAndroid Build Coastguard Workerversion: 24 1465*e1eccf28SAndroid Build Coastguard Workerattrib: const 1466*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1467*e1eccf28SAndroid Build Coastguard Workert: f16 1468*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1469*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 multiplicand1 1470*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 multiplicand2 1471*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 offset 1472*e1eccf28SAndroid Build Coastguard Workerend: 1473*e1eccf28SAndroid Build Coastguard Worker 1474*e1eccf28SAndroid Build Coastguard Workerfunction: max 1475*e1eccf28SAndroid Build Coastguard Workerversion: 9 1476*e1eccf28SAndroid Build Coastguard Workerattrib: const 1477*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1478*e1eccf28SAndroid Build Coastguard Workert: f32 1479*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1480*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1481*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1482*e1eccf28SAndroid Build Coastguard Workersummary: Maximum 1483*e1eccf28SAndroid Build Coastguard Workerdescription: 1484*e1eccf28SAndroid Build Coastguard Worker Returns the maximum value of two arguments. 1485*e1eccf28SAndroid Build Coastguard Workerend: 1486*e1eccf28SAndroid Build Coastguard Worker 1487*e1eccf28SAndroid Build Coastguard Workerfunction: max 1488*e1eccf28SAndroid Build Coastguard Workerversion:24 1489*e1eccf28SAndroid Build Coastguard Workerattrib: const 1490*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1491*e1eccf28SAndroid Build Coastguard Workert: f16 1492*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1493*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1494*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1495*e1eccf28SAndroid Build Coastguard Workerend: 1496*e1eccf28SAndroid Build Coastguard Worker 1497*e1eccf28SAndroid Build Coastguard Workerfunction: max 1498*e1eccf28SAndroid Build Coastguard Workerversion: 9 1499*e1eccf28SAndroid Build Coastguard Workerattrib: const 1500*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1501*e1eccf28SAndroid Build Coastguard Workert: f32 1502*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1503*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1504*e1eccf28SAndroid Build Coastguard Workerarg: #2 b 1505*e1eccf28SAndroid Build Coastguard Workerend: 1506*e1eccf28SAndroid Build Coastguard Worker 1507*e1eccf28SAndroid Build Coastguard Workerfunction: max 1508*e1eccf28SAndroid Build Coastguard Workerversion: 24 1509*e1eccf28SAndroid Build Coastguard Workerattrib: const 1510*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1511*e1eccf28SAndroid Build Coastguard Workert: f16 1512*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1513*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1514*e1eccf28SAndroid Build Coastguard Workerarg: #2 b 1515*e1eccf28SAndroid Build Coastguard Workerend: 1516*e1eccf28SAndroid Build Coastguard Worker 1517*e1eccf28SAndroid Build Coastguard Workerfunction: max 1518*e1eccf28SAndroid Build Coastguard Workerversion: 9 20 1519*e1eccf28SAndroid Build Coastguard Workerattrib: const 1520*e1eccf28SAndroid Build Coastguard Workerw: 1 1521*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 1522*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1523*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1524*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1525*e1eccf28SAndroid Build Coastguard Workerinline: 1526*e1eccf28SAndroid Build Coastguard Worker return (a > b ? a : b); 1527*e1eccf28SAndroid Build Coastguard Workerend: 1528*e1eccf28SAndroid Build Coastguard Worker 1529*e1eccf28SAndroid Build Coastguard Workerfunction: max 1530*e1eccf28SAndroid Build Coastguard Workerversion: 9 20 1531*e1eccf28SAndroid Build Coastguard Workerattrib: const 1532*e1eccf28SAndroid Build Coastguard Workerw: 2 1533*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 1534*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1535*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1536*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1537*e1eccf28SAndroid Build Coastguard Workerinline: 1538*e1eccf28SAndroid Build Coastguard Worker #2#1 tmp; 1539*e1eccf28SAndroid Build Coastguard Worker tmp.x = (a.x > b.x ? a.x : b.x); 1540*e1eccf28SAndroid Build Coastguard Worker tmp.y = (a.y > b.y ? a.y : b.y); 1541*e1eccf28SAndroid Build Coastguard Worker return tmp; 1542*e1eccf28SAndroid Build Coastguard Workerend: 1543*e1eccf28SAndroid Build Coastguard Worker 1544*e1eccf28SAndroid Build Coastguard Workerfunction: max 1545*e1eccf28SAndroid Build Coastguard Workerversion: 9 20 1546*e1eccf28SAndroid Build Coastguard Workerattrib: const 1547*e1eccf28SAndroid Build Coastguard Workerw: 3 1548*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 1549*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1550*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1551*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1552*e1eccf28SAndroid Build Coastguard Workerinline: 1553*e1eccf28SAndroid Build Coastguard Worker #2#1 tmp; 1554*e1eccf28SAndroid Build Coastguard Worker tmp.x = (a.x > b.x ? a.x : b.x); 1555*e1eccf28SAndroid Build Coastguard Worker tmp.y = (a.y > b.y ? a.y : b.y); 1556*e1eccf28SAndroid Build Coastguard Worker tmp.z = (a.z > b.z ? a.z : b.z); 1557*e1eccf28SAndroid Build Coastguard Worker return tmp; 1558*e1eccf28SAndroid Build Coastguard Workerend: 1559*e1eccf28SAndroid Build Coastguard Worker 1560*e1eccf28SAndroid Build Coastguard Workerfunction: max 1561*e1eccf28SAndroid Build Coastguard Workerversion: 9 20 1562*e1eccf28SAndroid Build Coastguard Workerattrib: const 1563*e1eccf28SAndroid Build Coastguard Workerw: 4 1564*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 1565*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1566*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1567*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1568*e1eccf28SAndroid Build Coastguard Workerinline: 1569*e1eccf28SAndroid Build Coastguard Worker #2#1 tmp; 1570*e1eccf28SAndroid Build Coastguard Worker tmp.x = (a.x > b.x ? a.x : b.x); 1571*e1eccf28SAndroid Build Coastguard Worker tmp.y = (a.y > b.y ? a.y : b.y); 1572*e1eccf28SAndroid Build Coastguard Worker tmp.z = (a.z > b.z ? a.z : b.z); 1573*e1eccf28SAndroid Build Coastguard Worker tmp.w = (a.w > b.w ? a.w : b.w); 1574*e1eccf28SAndroid Build Coastguard Worker return tmp; 1575*e1eccf28SAndroid Build Coastguard Workerend: 1576*e1eccf28SAndroid Build Coastguard Worker 1577*e1eccf28SAndroid Build Coastguard Workerfunction: max 1578*e1eccf28SAndroid Build Coastguard Workerversion: 21 1579*e1eccf28SAndroid Build Coastguard Workerattrib: const 1580*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1581*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, i64, u8, u16, u32, u64 1582*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1583*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1584*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1585*e1eccf28SAndroid Build Coastguard Workerend: 1586*e1eccf28SAndroid Build Coastguard Worker 1587*e1eccf28SAndroid Build Coastguard Workerfunction: min 1588*e1eccf28SAndroid Build Coastguard Workerversion: 9 1589*e1eccf28SAndroid Build Coastguard Workerattrib: const 1590*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1591*e1eccf28SAndroid Build Coastguard Workert: f32 1592*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1593*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1594*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1595*e1eccf28SAndroid Build Coastguard Workersummary: Minimum 1596*e1eccf28SAndroid Build Coastguard Workerdescription: 1597*e1eccf28SAndroid Build Coastguard Worker Returns the minimum value of two arguments. 1598*e1eccf28SAndroid Build Coastguard Workerend: 1599*e1eccf28SAndroid Build Coastguard Worker 1600*e1eccf28SAndroid Build Coastguard Workerfunction: min 1601*e1eccf28SAndroid Build Coastguard Workerversion: 24 1602*e1eccf28SAndroid Build Coastguard Workerattrib: const 1603*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1604*e1eccf28SAndroid Build Coastguard Workert: f16 1605*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1606*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1607*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1608*e1eccf28SAndroid Build Coastguard Workerend: 1609*e1eccf28SAndroid Build Coastguard Worker 1610*e1eccf28SAndroid Build Coastguard Workerfunction: min 1611*e1eccf28SAndroid Build Coastguard Workerversion: 9 1612*e1eccf28SAndroid Build Coastguard Workerattrib: const 1613*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1614*e1eccf28SAndroid Build Coastguard Workert: f32 1615*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1616*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1617*e1eccf28SAndroid Build Coastguard Workerarg: #2 b 1618*e1eccf28SAndroid Build Coastguard Workerend: 1619*e1eccf28SAndroid Build Coastguard Worker 1620*e1eccf28SAndroid Build Coastguard Workerfunction: min 1621*e1eccf28SAndroid Build Coastguard Workerversion: 24 1622*e1eccf28SAndroid Build Coastguard Workerattrib: const 1623*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1624*e1eccf28SAndroid Build Coastguard Workert: f16 1625*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1626*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1627*e1eccf28SAndroid Build Coastguard Workerarg: #2 b 1628*e1eccf28SAndroid Build Coastguard Workerend: 1629*e1eccf28SAndroid Build Coastguard Worker 1630*e1eccf28SAndroid Build Coastguard Workerfunction: min 1631*e1eccf28SAndroid Build Coastguard Workerversion: 9 20 1632*e1eccf28SAndroid Build Coastguard Workerattrib: const 1633*e1eccf28SAndroid Build Coastguard Workerw: 1 1634*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 1635*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1636*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1637*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1638*e1eccf28SAndroid Build Coastguard Workerinline: 1639*e1eccf28SAndroid Build Coastguard Worker return (a < b ? a : b); 1640*e1eccf28SAndroid Build Coastguard Workerend: 1641*e1eccf28SAndroid Build Coastguard Worker 1642*e1eccf28SAndroid Build Coastguard Workerfunction: min 1643*e1eccf28SAndroid Build Coastguard Workerversion: 9 20 1644*e1eccf28SAndroid Build Coastguard Workerattrib: const 1645*e1eccf28SAndroid Build Coastguard Workerw: 2 1646*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 1647*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1648*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1649*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1650*e1eccf28SAndroid Build Coastguard Workerinline: 1651*e1eccf28SAndroid Build Coastguard Worker #2#1 tmp; 1652*e1eccf28SAndroid Build Coastguard Worker tmp.x = (a.x < b.x ? a.x : b.x); 1653*e1eccf28SAndroid Build Coastguard Worker tmp.y = (a.y < b.y ? a.y : b.y); 1654*e1eccf28SAndroid Build Coastguard Worker return tmp; 1655*e1eccf28SAndroid Build Coastguard Workerend: 1656*e1eccf28SAndroid Build Coastguard Worker 1657*e1eccf28SAndroid Build Coastguard Workerfunction: min 1658*e1eccf28SAndroid Build Coastguard Workerversion: 9 20 1659*e1eccf28SAndroid Build Coastguard Workerattrib: const 1660*e1eccf28SAndroid Build Coastguard Workerw: 3 1661*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 1662*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1663*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1664*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1665*e1eccf28SAndroid Build Coastguard Workerinline: 1666*e1eccf28SAndroid Build Coastguard Worker #2#1 tmp; 1667*e1eccf28SAndroid Build Coastguard Worker tmp.x = (a.x < b.x ? a.x : b.x); 1668*e1eccf28SAndroid Build Coastguard Worker tmp.y = (a.y < b.y ? a.y : b.y); 1669*e1eccf28SAndroid Build Coastguard Worker tmp.z = (a.z < b.z ? a.z : b.z); 1670*e1eccf28SAndroid Build Coastguard Worker return tmp; 1671*e1eccf28SAndroid Build Coastguard Workerend: 1672*e1eccf28SAndroid Build Coastguard Worker 1673*e1eccf28SAndroid Build Coastguard Workerfunction: min 1674*e1eccf28SAndroid Build Coastguard Workerversion: 9 20 1675*e1eccf28SAndroid Build Coastguard Workerattrib: const 1676*e1eccf28SAndroid Build Coastguard Workerw: 4 1677*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 1678*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1679*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1680*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1681*e1eccf28SAndroid Build Coastguard Workerinline: 1682*e1eccf28SAndroid Build Coastguard Worker #2#1 tmp; 1683*e1eccf28SAndroid Build Coastguard Worker tmp.x = (a.x < b.x ? a.x : b.x); 1684*e1eccf28SAndroid Build Coastguard Worker tmp.y = (a.y < b.y ? a.y : b.y); 1685*e1eccf28SAndroid Build Coastguard Worker tmp.z = (a.z < b.z ? a.z : b.z); 1686*e1eccf28SAndroid Build Coastguard Worker tmp.w = (a.w < b.w ? a.w : b.w); 1687*e1eccf28SAndroid Build Coastguard Worker return tmp; 1688*e1eccf28SAndroid Build Coastguard Workerend: 1689*e1eccf28SAndroid Build Coastguard Worker 1690*e1eccf28SAndroid Build Coastguard Workerfunction: min 1691*e1eccf28SAndroid Build Coastguard Workerversion: 21 1692*e1eccf28SAndroid Build Coastguard Workerattrib: const 1693*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1694*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, i64, u8, u16, u32, u64 1695*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1696*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 1697*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 1698*e1eccf28SAndroid Build Coastguard Workerend: 1699*e1eccf28SAndroid Build Coastguard Worker 1700*e1eccf28SAndroid Build Coastguard Workerfunction: mix 1701*e1eccf28SAndroid Build Coastguard Workerversion: 9 1702*e1eccf28SAndroid Build Coastguard Workerattrib: const 1703*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1704*e1eccf28SAndroid Build Coastguard Workert: f32 1705*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1706*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 start 1707*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 stop 1708*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 fraction 1709*e1eccf28SAndroid Build Coastguard Workersummary: Mixes two values 1710*e1eccf28SAndroid Build Coastguard Workerdescription: 1711*e1eccf28SAndroid Build Coastguard Worker Returns start + ((stop - start) * fraction). 1712*e1eccf28SAndroid Build Coastguard Worker 1713*e1eccf28SAndroid Build Coastguard Worker This can be useful for mixing two values. For example, to create a new color that is 1714*e1eccf28SAndroid Build Coastguard Worker 40% color1 and 60% color2, use <code>mix(color1, color2, 0.6f)</code>. 1715*e1eccf28SAndroid Build Coastguard Workerend: 1716*e1eccf28SAndroid Build Coastguard Worker 1717*e1eccf28SAndroid Build Coastguard Workerfunction: mix 1718*e1eccf28SAndroid Build Coastguard Workerversion: 24 1719*e1eccf28SAndroid Build Coastguard Workerattrib: const 1720*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1721*e1eccf28SAndroid Build Coastguard Workert: f16 1722*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1723*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 start 1724*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 stop 1725*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 fraction 1726*e1eccf28SAndroid Build Coastguard Workerend: 1727*e1eccf28SAndroid Build Coastguard Worker 1728*e1eccf28SAndroid Build Coastguard Workerfunction: mix 1729*e1eccf28SAndroid Build Coastguard Workerversion: 9 1730*e1eccf28SAndroid Build Coastguard Workerattrib: const 1731*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1732*e1eccf28SAndroid Build Coastguard Workert: f32 1733*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1734*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 start 1735*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 stop 1736*e1eccf28SAndroid Build Coastguard Workerarg: #2 fraction 1737*e1eccf28SAndroid Build Coastguard Workerend: 1738*e1eccf28SAndroid Build Coastguard Worker 1739*e1eccf28SAndroid Build Coastguard Workerfunction: mix 1740*e1eccf28SAndroid Build Coastguard Workerversion: 24 1741*e1eccf28SAndroid Build Coastguard Workerattrib: const 1742*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 1743*e1eccf28SAndroid Build Coastguard Workert: f16 1744*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1745*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 start 1746*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 stop 1747*e1eccf28SAndroid Build Coastguard Workerarg: #2 fraction 1748*e1eccf28SAndroid Build Coastguard Workerend: 1749*e1eccf28SAndroid Build Coastguard Worker 1750*e1eccf28SAndroid Build Coastguard Workerfunction: modf 1751*e1eccf28SAndroid Build Coastguard Workerversion: 9 1752*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1753*e1eccf28SAndroid Build Coastguard Workert: f32 1754*e1eccf28SAndroid Build Coastguard Workerret: #2#1, "Floating point portion of the value." 1755*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, "Source value." 1756*e1eccf28SAndroid Build Coastguard Workerarg: #2#1* integral_part, "*integral_part will be set to the integral portion of the number." 1757*e1eccf28SAndroid Build Coastguard Workersummary: Integral and fractional components 1758*e1eccf28SAndroid Build Coastguard Workerdescription: 1759*e1eccf28SAndroid Build Coastguard Worker Returns the integral and fractional components of a number. 1760*e1eccf28SAndroid Build Coastguard Worker 1761*e1eccf28SAndroid Build Coastguard Worker Both components will have the same sign as x. For example, for an input of -3.72f, 1762*e1eccf28SAndroid Build Coastguard Worker *integral_part will be set to -3.f and .72f will be returned. 1763*e1eccf28SAndroid Build Coastguard Workerend: 1764*e1eccf28SAndroid Build Coastguard Worker 1765*e1eccf28SAndroid Build Coastguard Workerfunction: modf 1766*e1eccf28SAndroid Build Coastguard Workerversion: 24 1767*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1768*e1eccf28SAndroid Build Coastguard Workert: f16 1769*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1770*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1771*e1eccf28SAndroid Build Coastguard Workerarg: #2#1* integral_part 1772*e1eccf28SAndroid Build Coastguard Workertest: none 1773*e1eccf28SAndroid Build Coastguard Workerend: 1774*e1eccf28SAndroid Build Coastguard Worker 1775*e1eccf28SAndroid Build Coastguard Workerfunction: nan 1776*e1eccf28SAndroid Build Coastguard Workerversion: 9 1777*e1eccf28SAndroid Build Coastguard Workerattrib: const 1778*e1eccf28SAndroid Build Coastguard Workerw: 1 1779*e1eccf28SAndroid Build Coastguard Workert: f32 1780*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1781*e1eccf28SAndroid Build Coastguard Workerarg: uint#1 v, "Not used." 1782*e1eccf28SAndroid Build Coastguard Worker#TODO We're not using the argument. Once we do, add this documentation line: 1783*e1eccf28SAndroid Build Coastguard Worker# The argument is embedded into the return value and can be used to distinguish various NaNs. 1784*e1eccf28SAndroid Build Coastguard Workersummary: Not a Number 1785*e1eccf28SAndroid Build Coastguard Workerdescription: 1786*e1eccf28SAndroid Build Coastguard Worker Returns a NaN value (Not a Number). 1787*e1eccf28SAndroid Build Coastguard Workerend: 1788*e1eccf28SAndroid Build Coastguard Worker 1789*e1eccf28SAndroid Build Coastguard Workerfunction: nan_half 1790*e1eccf28SAndroid Build Coastguard Workerversion: 24 1791*e1eccf28SAndroid Build Coastguard Workerattrib: const 1792*e1eccf28SAndroid Build Coastguard Workert: f16 1793*e1eccf28SAndroid Build Coastguard Workerret: #1 1794*e1eccf28SAndroid Build Coastguard Workersummary: Not a Number 1795*e1eccf28SAndroid Build Coastguard Workerdescription: 1796*e1eccf28SAndroid Build Coastguard Worker Returns a half-precision floating point NaN value (Not a Number). 1797*e1eccf28SAndroid Build Coastguard Workerend: 1798*e1eccf28SAndroid Build Coastguard Worker 1799*e1eccf28SAndroid Build Coastguard Workerfunction: native_acos 1800*e1eccf28SAndroid Build Coastguard Workerversion: 21 1801*e1eccf28SAndroid Build Coastguard Workerattrib: const 1802*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1803*e1eccf28SAndroid Build Coastguard Workert: f32 1804*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1805*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1806*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse cosine 1807*e1eccf28SAndroid Build Coastguard Workerdescription: 1808*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse cosine, in radians. 1809*e1eccf28SAndroid Build Coastguard Worker 1810*e1eccf28SAndroid Build Coastguard Worker This function yields undefined results from input values less than -1 or greater than 1. 1811*e1eccf28SAndroid Build Coastguard Worker 1812*e1eccf28SAndroid Build Coastguard Worker See also @acos(). 1813*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 1814*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 1815*e1eccf28SAndroid Build Coastguard Workerend: 1816*e1eccf28SAndroid Build Coastguard Worker 1817*e1eccf28SAndroid Build Coastguard Workerfunction: native_acos 1818*e1eccf28SAndroid Build Coastguard Workerversion: 24 1819*e1eccf28SAndroid Build Coastguard Workerattrib: const 1820*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1821*e1eccf28SAndroid Build Coastguard Workert: f16 1822*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1823*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1824*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 1825*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 1826*e1eccf28SAndroid Build Coastguard Workerend: 1827*e1eccf28SAndroid Build Coastguard Worker 1828*e1eccf28SAndroid Build Coastguard Workerfunction: native_acosh 1829*e1eccf28SAndroid Build Coastguard Workerversion: 21 1830*e1eccf28SAndroid Build Coastguard Workerattrib: const 1831*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1832*e1eccf28SAndroid Build Coastguard Workert: f32 1833*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1834*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1835*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse hyperbolic cosine 1836*e1eccf28SAndroid Build Coastguard Workerdescription: 1837*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse hyperbolic cosine, in radians. 1838*e1eccf28SAndroid Build Coastguard Worker 1839*e1eccf28SAndroid Build Coastguard Worker See also @acosh(). 1840*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 1841*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 1842*e1eccf28SAndroid Build Coastguard Workerend: 1843*e1eccf28SAndroid Build Coastguard Worker 1844*e1eccf28SAndroid Build Coastguard Workerfunction: native_acosh 1845*e1eccf28SAndroid Build Coastguard Workerversion: 24 1846*e1eccf28SAndroid Build Coastguard Workerattrib: const 1847*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1848*e1eccf28SAndroid Build Coastguard Workert: f16 1849*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1850*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1851*e1eccf28SAndroid Build Coastguard Workerend: 1852*e1eccf28SAndroid Build Coastguard Worker 1853*e1eccf28SAndroid Build Coastguard Workerfunction: native_acospi 1854*e1eccf28SAndroid Build Coastguard Workerversion: 21 1855*e1eccf28SAndroid Build Coastguard Workerattrib: const 1856*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1857*e1eccf28SAndroid Build Coastguard Workert: f32 1858*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1859*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1860*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse cosine divided by pi 1861*e1eccf28SAndroid Build Coastguard Workerdescription: 1862*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse cosine in radians, divided by pi. 1863*e1eccf28SAndroid Build Coastguard Worker 1864*e1eccf28SAndroid Build Coastguard Worker To get an inverse cosine measured in degrees, use <code>acospi(a) * 180.f</code>. 1865*e1eccf28SAndroid Build Coastguard Worker 1866*e1eccf28SAndroid Build Coastguard Worker This function yields undefined results from input values less than -1 or greater than 1. 1867*e1eccf28SAndroid Build Coastguard Worker 1868*e1eccf28SAndroid Build Coastguard Worker See also @acospi(). 1869*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 1870*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 1871*e1eccf28SAndroid Build Coastguard Workerend: 1872*e1eccf28SAndroid Build Coastguard Worker 1873*e1eccf28SAndroid Build Coastguard Workerfunction: native_acospi 1874*e1eccf28SAndroid Build Coastguard Workerversion: 24 1875*e1eccf28SAndroid Build Coastguard Workerattrib: const 1876*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1877*e1eccf28SAndroid Build Coastguard Workert: f16 1878*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1879*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1880*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 1881*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 1882*e1eccf28SAndroid Build Coastguard Workerend: 1883*e1eccf28SAndroid Build Coastguard Worker 1884*e1eccf28SAndroid Build Coastguard Workerfunction: native_asin 1885*e1eccf28SAndroid Build Coastguard Workerversion: 21 1886*e1eccf28SAndroid Build Coastguard Workerattrib: const 1887*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1888*e1eccf28SAndroid Build Coastguard Workert: f32 1889*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1890*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1891*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse sine 1892*e1eccf28SAndroid Build Coastguard Workerdescription: 1893*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse sine, in radians. 1894*e1eccf28SAndroid Build Coastguard Worker 1895*e1eccf28SAndroid Build Coastguard Worker This function yields undefined results from input values less than -1 or greater than 1. 1896*e1eccf28SAndroid Build Coastguard Worker 1897*e1eccf28SAndroid Build Coastguard Worker See also @asin(). 1898*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 1899*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 1900*e1eccf28SAndroid Build Coastguard Workerend: 1901*e1eccf28SAndroid Build Coastguard Worker 1902*e1eccf28SAndroid Build Coastguard Workerfunction: native_asin 1903*e1eccf28SAndroid Build Coastguard Workerversion: 24 1904*e1eccf28SAndroid Build Coastguard Workerattrib: const 1905*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1906*e1eccf28SAndroid Build Coastguard Workert: f16 1907*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1908*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1909*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 1910*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 1911*e1eccf28SAndroid Build Coastguard Workerend: 1912*e1eccf28SAndroid Build Coastguard Worker 1913*e1eccf28SAndroid Build Coastguard Workerfunction: native_asinh 1914*e1eccf28SAndroid Build Coastguard Workerversion: 21 1915*e1eccf28SAndroid Build Coastguard Workerattrib: const 1916*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1917*e1eccf28SAndroid Build Coastguard Workert: f32 1918*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1919*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1920*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse hyperbolic sine 1921*e1eccf28SAndroid Build Coastguard Workerdescription: 1922*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse hyperbolic sine, in radians. 1923*e1eccf28SAndroid Build Coastguard Worker 1924*e1eccf28SAndroid Build Coastguard Worker See also @asinh(). 1925*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 1926*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 1927*e1eccf28SAndroid Build Coastguard Workerend: 1928*e1eccf28SAndroid Build Coastguard Worker 1929*e1eccf28SAndroid Build Coastguard Workerfunction: native_asinh 1930*e1eccf28SAndroid Build Coastguard Workerversion: 24 1931*e1eccf28SAndroid Build Coastguard Workerattrib: const 1932*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1933*e1eccf28SAndroid Build Coastguard Workert: f16 1934*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1935*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 1936*e1eccf28SAndroid Build Coastguard Workerend: 1937*e1eccf28SAndroid Build Coastguard Worker 1938*e1eccf28SAndroid Build Coastguard Workerfunction: native_asinpi 1939*e1eccf28SAndroid Build Coastguard Workerversion: 21 1940*e1eccf28SAndroid Build Coastguard Workerattrib: const 1941*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1942*e1eccf28SAndroid Build Coastguard Workert: f32 1943*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1944*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1945*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse sine divided by pi 1946*e1eccf28SAndroid Build Coastguard Workerdescription: 1947*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse sine in radians, divided by pi. 1948*e1eccf28SAndroid Build Coastguard Worker 1949*e1eccf28SAndroid Build Coastguard Worker To get an inverse sine measured in degrees, use <code>asinpi(a) * 180.f</code>. 1950*e1eccf28SAndroid Build Coastguard Worker 1951*e1eccf28SAndroid Build Coastguard Worker This function yields undefined results from input values less than -1 or greater than 1. 1952*e1eccf28SAndroid Build Coastguard Worker 1953*e1eccf28SAndroid Build Coastguard Worker See also @asinpi(). 1954*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 1955*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 1956*e1eccf28SAndroid Build Coastguard Workerend: 1957*e1eccf28SAndroid Build Coastguard Worker 1958*e1eccf28SAndroid Build Coastguard Workerfunction: native_asinpi 1959*e1eccf28SAndroid Build Coastguard Workerversion: 24 1960*e1eccf28SAndroid Build Coastguard Workerattrib: const 1961*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1962*e1eccf28SAndroid Build Coastguard Workert: f16 1963*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1964*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1965*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 1966*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 1967*e1eccf28SAndroid Build Coastguard Workerend: 1968*e1eccf28SAndroid Build Coastguard Worker 1969*e1eccf28SAndroid Build Coastguard Workerfunction: native_atan 1970*e1eccf28SAndroid Build Coastguard Workerversion: 21 1971*e1eccf28SAndroid Build Coastguard Workerattrib: const 1972*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1973*e1eccf28SAndroid Build Coastguard Workert: f32 1974*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1975*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 1976*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse tangent 1977*e1eccf28SAndroid Build Coastguard Workerdescription: 1978*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse tangent, in radians. 1979*e1eccf28SAndroid Build Coastguard Worker 1980*e1eccf28SAndroid Build Coastguard Worker See also @atan(). 1981*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 1982*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 1983*e1eccf28SAndroid Build Coastguard Workerend: 1984*e1eccf28SAndroid Build Coastguard Worker 1985*e1eccf28SAndroid Build Coastguard Workerfunction: native_atan 1986*e1eccf28SAndroid Build Coastguard Workerversion: 24 1987*e1eccf28SAndroid Build Coastguard Workerattrib: const 1988*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1989*e1eccf28SAndroid Build Coastguard Workert: f16 1990*e1eccf28SAndroid Build Coastguard Workerret: #2#1 1991*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1, 1) 1992*e1eccf28SAndroid Build Coastguard Workerend: 1993*e1eccf28SAndroid Build Coastguard Worker 1994*e1eccf28SAndroid Build Coastguard Workerfunction: native_atan2 1995*e1eccf28SAndroid Build Coastguard Workerversion: 21 1996*e1eccf28SAndroid Build Coastguard Workerattrib: const 1997*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 1998*e1eccf28SAndroid Build Coastguard Workert: f32 1999*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2000*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator, "Numerator." 2001*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator, "Denominator. Can be 0." 2002*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse tangent of a ratio 2003*e1eccf28SAndroid Build Coastguard Workerdescription: 2004*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse tangent of <code>(numerator / denominator)</code>, in radians. 2005*e1eccf28SAndroid Build Coastguard Worker 2006*e1eccf28SAndroid Build Coastguard Worker See also @atan2(). 2007*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 2008*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 2009*e1eccf28SAndroid Build Coastguard Workerend: 2010*e1eccf28SAndroid Build Coastguard Worker 2011*e1eccf28SAndroid Build Coastguard Workerfunction: native_atan2 2012*e1eccf28SAndroid Build Coastguard Workerversion: 24 2013*e1eccf28SAndroid Build Coastguard Workerattrib: const 2014*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2015*e1eccf28SAndroid Build Coastguard Workert: f16 2016*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2017*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 2018*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 2019*e1eccf28SAndroid Build Coastguard Workerend: 2020*e1eccf28SAndroid Build Coastguard Worker 2021*e1eccf28SAndroid Build Coastguard Workerfunction: native_atan2pi 2022*e1eccf28SAndroid Build Coastguard Workerversion: 21 2023*e1eccf28SAndroid Build Coastguard Workerattrib: const 2024*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2025*e1eccf28SAndroid Build Coastguard Workert: f32 2026*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2027*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator, "Numerator." 2028*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator, "Denominator. Can be 0." 2029*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse tangent of a ratio, divided by pi 2030*e1eccf28SAndroid Build Coastguard Workerdescription: 2031*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse tangent of <code>(numerator / denominator)</code>, 2032*e1eccf28SAndroid Build Coastguard Worker in radians, divided by pi. 2033*e1eccf28SAndroid Build Coastguard Worker 2034*e1eccf28SAndroid Build Coastguard Worker To get an inverse tangent measured in degrees, use <code>atan2pi(n, d) * 180.f</code>. 2035*e1eccf28SAndroid Build Coastguard Worker 2036*e1eccf28SAndroid Build Coastguard Worker See also @atan2pi(). 2037*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 2038*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 2039*e1eccf28SAndroid Build Coastguard Workerend: 2040*e1eccf28SAndroid Build Coastguard Worker 2041*e1eccf28SAndroid Build Coastguard Workerfunction: native_atan2pi 2042*e1eccf28SAndroid Build Coastguard Workerversion: 24 2043*e1eccf28SAndroid Build Coastguard Workerattrib: const 2044*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2045*e1eccf28SAndroid Build Coastguard Workert: f16 2046*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2047*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 2048*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 2049*e1eccf28SAndroid Build Coastguard Workerend: 2050*e1eccf28SAndroid Build Coastguard Worker 2051*e1eccf28SAndroid Build Coastguard Workerfunction: native_atanh 2052*e1eccf28SAndroid Build Coastguard Workerversion: 21 2053*e1eccf28SAndroid Build Coastguard Workerattrib: const 2054*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2055*e1eccf28SAndroid Build Coastguard Workert: f32 2056*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2057*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 2058*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse hyperbolic tangent 2059*e1eccf28SAndroid Build Coastguard Workerdescription: 2060*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse hyperbolic tangent, in radians. 2061*e1eccf28SAndroid Build Coastguard Worker 2062*e1eccf28SAndroid Build Coastguard Worker See also @atanh(). 2063*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 2064*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 2065*e1eccf28SAndroid Build Coastguard Workerend: 2066*e1eccf28SAndroid Build Coastguard Worker 2067*e1eccf28SAndroid Build Coastguard Workerfunction: native_atanh 2068*e1eccf28SAndroid Build Coastguard Workerversion: 24 2069*e1eccf28SAndroid Build Coastguard Workerattrib: const 2070*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2071*e1eccf28SAndroid Build Coastguard Workert: f16 2072*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2073*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 2074*e1eccf28SAndroid Build Coastguard Workerend: 2075*e1eccf28SAndroid Build Coastguard Worker 2076*e1eccf28SAndroid Build Coastguard Workerfunction: native_atanpi 2077*e1eccf28SAndroid Build Coastguard Workerversion: 21 2078*e1eccf28SAndroid Build Coastguard Workerattrib: const 2079*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2080*e1eccf28SAndroid Build Coastguard Workert: f32 2081*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2082*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 2083*e1eccf28SAndroid Build Coastguard Workersummary: Approximate inverse tangent divided by pi 2084*e1eccf28SAndroid Build Coastguard Workerdescription: 2085*e1eccf28SAndroid Build Coastguard Worker Returns the approximate inverse tangent in radians, divided by pi. 2086*e1eccf28SAndroid Build Coastguard Worker 2087*e1eccf28SAndroid Build Coastguard Worker To get an inverse tangent measured in degrees, use <code>atanpi(a) * 180.f</code>. 2088*e1eccf28SAndroid Build Coastguard Worker 2089*e1eccf28SAndroid Build Coastguard Worker See also @atanpi(). 2090*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 2091*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 2092*e1eccf28SAndroid Build Coastguard Workerend: 2093*e1eccf28SAndroid Build Coastguard Worker 2094*e1eccf28SAndroid Build Coastguard Workerfunction: native_atanpi 2095*e1eccf28SAndroid Build Coastguard Workerversion: 24 2096*e1eccf28SAndroid Build Coastguard Workerattrib: const 2097*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2098*e1eccf28SAndroid Build Coastguard Workert: f16 2099*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2100*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-1,1) 2101*e1eccf28SAndroid Build Coastguard Workerend: 2102*e1eccf28SAndroid Build Coastguard Worker 2103*e1eccf28SAndroid Build Coastguard Workerfunction: native_cbrt 2104*e1eccf28SAndroid Build Coastguard Workerversion: 21 2105*e1eccf28SAndroid Build Coastguard Workerattrib: const 2106*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2107*e1eccf28SAndroid Build Coastguard Workert: f32 2108*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2109*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2110*e1eccf28SAndroid Build Coastguard Workersummary: Approximate cube root 2111*e1eccf28SAndroid Build Coastguard Workerdescription: 2112*e1eccf28SAndroid Build Coastguard Worker Returns the approximate cubic root. 2113*e1eccf28SAndroid Build Coastguard Worker 2114*e1eccf28SAndroid Build Coastguard Worker See also @cbrt(). 2115*e1eccf28SAndroid Build Coastguard Workerend: 2116*e1eccf28SAndroid Build Coastguard Worker 2117*e1eccf28SAndroid Build Coastguard Workerfunction: native_cbrt 2118*e1eccf28SAndroid Build Coastguard Workerversion: 24 2119*e1eccf28SAndroid Build Coastguard Workerattrib: const 2120*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2121*e1eccf28SAndroid Build Coastguard Workert: f16 2122*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2123*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2124*e1eccf28SAndroid Build Coastguard Workerend: 2125*e1eccf28SAndroid Build Coastguard Worker 2126*e1eccf28SAndroid Build Coastguard Workerfunction: native_cos 2127*e1eccf28SAndroid Build Coastguard Workerversion: 21 2128*e1eccf28SAndroid Build Coastguard Workerattrib: const 2129*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2130*e1eccf28SAndroid Build Coastguard Workert: f32 2131*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2132*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2133*e1eccf28SAndroid Build Coastguard Workersummary: Approximate cosine 2134*e1eccf28SAndroid Build Coastguard Workerdescription: 2135*e1eccf28SAndroid Build Coastguard Worker Returns the approximate cosine of an angle measured in radians. 2136*e1eccf28SAndroid Build Coastguard Worker 2137*e1eccf28SAndroid Build Coastguard Worker See also @cos(). 2138*e1eccf28SAndroid Build Coastguard Workerend: 2139*e1eccf28SAndroid Build Coastguard Worker 2140*e1eccf28SAndroid Build Coastguard Workerfunction: native_cos 2141*e1eccf28SAndroid Build Coastguard Workerversion: 24 2142*e1eccf28SAndroid Build Coastguard Workerattrib: const 2143*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2144*e1eccf28SAndroid Build Coastguard Workert: f16 2145*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2146*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-314,314) 2147*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 2148*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 2149*e1eccf28SAndroid Build Coastguard Workerend: 2150*e1eccf28SAndroid Build Coastguard Worker 2151*e1eccf28SAndroid Build Coastguard Workerfunction: native_cosh 2152*e1eccf28SAndroid Build Coastguard Workerversion: 21 2153*e1eccf28SAndroid Build Coastguard Workerattrib: const 2154*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2155*e1eccf28SAndroid Build Coastguard Workert: f32 2156*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2157*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2158*e1eccf28SAndroid Build Coastguard Workersummary: Approximate hypebolic cosine 2159*e1eccf28SAndroid Build Coastguard Workerdescription: 2160*e1eccf28SAndroid Build Coastguard Worker Returns the approximate hypebolic cosine. 2161*e1eccf28SAndroid Build Coastguard Worker 2162*e1eccf28SAndroid Build Coastguard Worker See also @cosh(). 2163*e1eccf28SAndroid Build Coastguard Workerend: 2164*e1eccf28SAndroid Build Coastguard Worker 2165*e1eccf28SAndroid Build Coastguard Workerfunction: native_cosh 2166*e1eccf28SAndroid Build Coastguard Workerversion: 24 2167*e1eccf28SAndroid Build Coastguard Workerattrib: const 2168*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2169*e1eccf28SAndroid Build Coastguard Workert: f16 2170*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2171*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2172*e1eccf28SAndroid Build Coastguard Workerend: 2173*e1eccf28SAndroid Build Coastguard Worker 2174*e1eccf28SAndroid Build Coastguard Workerfunction: native_cospi 2175*e1eccf28SAndroid Build Coastguard Workerversion: 21 2176*e1eccf28SAndroid Build Coastguard Workerattrib: const 2177*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2178*e1eccf28SAndroid Build Coastguard Workert: f32 2179*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2180*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2181*e1eccf28SAndroid Build Coastguard Workersummary: Approximate cosine of a number multiplied by pi 2182*e1eccf28SAndroid Build Coastguard Workerdescription: 2183*e1eccf28SAndroid Build Coastguard Worker Returns the approximate cosine of (v * pi), where (v * pi) is measured in radians. 2184*e1eccf28SAndroid Build Coastguard Worker 2185*e1eccf28SAndroid Build Coastguard Worker To get the cosine of a value measured in degrees, call <code>cospi(v / 180.f)</code>. 2186*e1eccf28SAndroid Build Coastguard Worker 2187*e1eccf28SAndroid Build Coastguard Worker See also @cospi(). 2188*e1eccf28SAndroid Build Coastguard Workerend: 2189*e1eccf28SAndroid Build Coastguard Worker 2190*e1eccf28SAndroid Build Coastguard Workerfunction: native_cospi 2191*e1eccf28SAndroid Build Coastguard Workerversion: 24 2192*e1eccf28SAndroid Build Coastguard Workerattrib: const 2193*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2194*e1eccf28SAndroid Build Coastguard Workert: f16 2195*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2196*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-100,100) 2197*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 2198*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 2199*e1eccf28SAndroid Build Coastguard Workerend: 2200*e1eccf28SAndroid Build Coastguard Worker 2201*e1eccf28SAndroid Build Coastguard Workerfunction: native_divide 2202*e1eccf28SAndroid Build Coastguard Workerversion: 21 2203*e1eccf28SAndroid Build Coastguard Workerattrib: const 2204*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2205*e1eccf28SAndroid Build Coastguard Workert: f32 2206*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2207*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 left_vector 2208*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 right_vector 2209*e1eccf28SAndroid Build Coastguard Workersummary: Approximate division 2210*e1eccf28SAndroid Build Coastguard Workerdescription: 2211*e1eccf28SAndroid Build Coastguard Worker Computes the approximate division of two values. 2212*e1eccf28SAndroid Build Coastguard Workerend: 2213*e1eccf28SAndroid Build Coastguard Worker 2214*e1eccf28SAndroid Build Coastguard Workerfunction: native_divide 2215*e1eccf28SAndroid Build Coastguard Workerversion: 24 2216*e1eccf28SAndroid Build Coastguard Workerattrib: const 2217*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2218*e1eccf28SAndroid Build Coastguard Workert: f16 2219*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2220*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 left_vector 2221*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 right_vector 2222*e1eccf28SAndroid Build Coastguard Workerend: 2223*e1eccf28SAndroid Build Coastguard Worker 2224*e1eccf28SAndroid Build Coastguard Workerfunction: native_exp 2225*e1eccf28SAndroid Build Coastguard Workerversion: 18 2226*e1eccf28SAndroid Build Coastguard Workerattrib: const 2227*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2228*e1eccf28SAndroid Build Coastguard Workert: f32 2229*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2230*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-86,86) 2231*e1eccf28SAndroid Build Coastguard Workersummary: Approximate e raised to a number 2232*e1eccf28SAndroid Build Coastguard Workerdescription: 2233*e1eccf28SAndroid Build Coastguard Worker Fast approximate exp. 2234*e1eccf28SAndroid Build Coastguard Worker 2235*e1eccf28SAndroid Build Coastguard Worker It is valid for inputs from -86.f to 86.f. The precision is no worse than what would be 2236*e1eccf28SAndroid Build Coastguard Worker expected from using 16 bit floating point values. 2237*e1eccf28SAndroid Build Coastguard Worker 2238*e1eccf28SAndroid Build Coastguard Worker See also @exp(). 2239*e1eccf28SAndroid Build Coastguard Workertest: limited 2240*e1eccf28SAndroid Build Coastguard Workerend: 2241*e1eccf28SAndroid Build Coastguard Worker 2242*e1eccf28SAndroid Build Coastguard Workerfunction: native_exp 2243*e1eccf28SAndroid Build Coastguard Workerversion: 24 2244*e1eccf28SAndroid Build Coastguard Workerattrib: const 2245*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2246*e1eccf28SAndroid Build Coastguard Workert: f16 2247*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2248*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-86,86) 2249*e1eccf28SAndroid Build Coastguard Workerend: 2250*e1eccf28SAndroid Build Coastguard Worker 2251*e1eccf28SAndroid Build Coastguard Workerfunction: native_exp10 2252*e1eccf28SAndroid Build Coastguard Workerversion: 18 2253*e1eccf28SAndroid Build Coastguard Workerattrib: const 2254*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2255*e1eccf28SAndroid Build Coastguard Workert: f32 2256*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2257*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-37,37) 2258*e1eccf28SAndroid Build Coastguard Workersummary: Approximate 10 raised to a number 2259*e1eccf28SAndroid Build Coastguard Workerdescription: 2260*e1eccf28SAndroid Build Coastguard Worker Fast approximate exp10. 2261*e1eccf28SAndroid Build Coastguard Worker 2262*e1eccf28SAndroid Build Coastguard Worker It is valid for inputs from -37.f to 37.f. The precision is no worse than what would be 2263*e1eccf28SAndroid Build Coastguard Worker expected from using 16 bit floating point values. 2264*e1eccf28SAndroid Build Coastguard Worker 2265*e1eccf28SAndroid Build Coastguard Worker See also @exp10(). 2266*e1eccf28SAndroid Build Coastguard Workertest: limited 2267*e1eccf28SAndroid Build Coastguard Workerend: 2268*e1eccf28SAndroid Build Coastguard Worker 2269*e1eccf28SAndroid Build Coastguard Workerfunction: native_exp10 2270*e1eccf28SAndroid Build Coastguard Workerversion: 24 2271*e1eccf28SAndroid Build Coastguard Workerattrib: const 2272*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2273*e1eccf28SAndroid Build Coastguard Workert: f16 2274*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2275*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-37,37) 2276*e1eccf28SAndroid Build Coastguard Workerend: 2277*e1eccf28SAndroid Build Coastguard Worker 2278*e1eccf28SAndroid Build Coastguard Workerfunction: native_exp2 2279*e1eccf28SAndroid Build Coastguard Workerversion: 18 2280*e1eccf28SAndroid Build Coastguard Workerattrib: const 2281*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2282*e1eccf28SAndroid Build Coastguard Workert: f32 2283*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2284*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-125,125) 2285*e1eccf28SAndroid Build Coastguard Workersummary: Approximate 2 raised to a number 2286*e1eccf28SAndroid Build Coastguard Workerdescription: 2287*e1eccf28SAndroid Build Coastguard Worker Fast approximate exp2. 2288*e1eccf28SAndroid Build Coastguard Worker 2289*e1eccf28SAndroid Build Coastguard Worker It is valid for inputs from -125.f to 125.f. The precision is no worse than what would be 2290*e1eccf28SAndroid Build Coastguard Worker expected from using 16 bit floating point values. 2291*e1eccf28SAndroid Build Coastguard Worker 2292*e1eccf28SAndroid Build Coastguard Worker See also @exp2(). 2293*e1eccf28SAndroid Build Coastguard Workertest: limited 2294*e1eccf28SAndroid Build Coastguard Workerend: 2295*e1eccf28SAndroid Build Coastguard Worker 2296*e1eccf28SAndroid Build Coastguard Workerfunction: native_exp2 2297*e1eccf28SAndroid Build Coastguard Workerversion: 24 2298*e1eccf28SAndroid Build Coastguard Workerattrib: const 2299*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2300*e1eccf28SAndroid Build Coastguard Workert: f16 2301*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2302*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-125,125) 2303*e1eccf28SAndroid Build Coastguard Workerend: 2304*e1eccf28SAndroid Build Coastguard Worker 2305*e1eccf28SAndroid Build Coastguard Workerfunction: native_expm1 2306*e1eccf28SAndroid Build Coastguard Workerversion: 21 2307*e1eccf28SAndroid Build Coastguard Workerattrib: const 2308*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2309*e1eccf28SAndroid Build Coastguard Workert: f32 2310*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2311*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2312*e1eccf28SAndroid Build Coastguard Workersummary: Approximate e raised to a number minus one 2313*e1eccf28SAndroid Build Coastguard Workerdescription: 2314*e1eccf28SAndroid Build Coastguard Worker Returns the approximate (e ^ v) - 1. 2315*e1eccf28SAndroid Build Coastguard Worker 2316*e1eccf28SAndroid Build Coastguard Worker See also @expm1(). 2317*e1eccf28SAndroid Build Coastguard Workerend: 2318*e1eccf28SAndroid Build Coastguard Worker 2319*e1eccf28SAndroid Build Coastguard Workerfunction: native_expm1 2320*e1eccf28SAndroid Build Coastguard Workerversion: 24 2321*e1eccf28SAndroid Build Coastguard Workerattrib: const 2322*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2323*e1eccf28SAndroid Build Coastguard Workert: f16 2324*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2325*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2326*e1eccf28SAndroid Build Coastguard Workertest: custom 2327*e1eccf28SAndroid Build Coastguard Workerend: 2328*e1eccf28SAndroid Build Coastguard Worker 2329*e1eccf28SAndroid Build Coastguard Workerfunction: native_hypot 2330*e1eccf28SAndroid Build Coastguard Workerversion: 21 2331*e1eccf28SAndroid Build Coastguard Workerattrib: const 2332*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2333*e1eccf28SAndroid Build Coastguard Workert: f32 2334*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2335*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 2336*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 2337*e1eccf28SAndroid Build Coastguard Workersummary: Approximate hypotenuse 2338*e1eccf28SAndroid Build Coastguard Workerdescription: 2339*e1eccf28SAndroid Build Coastguard Worker Returns the approximate native_sqrt(a * a + b * b) 2340*e1eccf28SAndroid Build Coastguard Worker 2341*e1eccf28SAndroid Build Coastguard Worker See also @hypot(). 2342*e1eccf28SAndroid Build Coastguard Workerend: 2343*e1eccf28SAndroid Build Coastguard Worker 2344*e1eccf28SAndroid Build Coastguard Workerfunction: native_hypot 2345*e1eccf28SAndroid Build Coastguard Workerversion: 24 2346*e1eccf28SAndroid Build Coastguard Workerattrib: const 2347*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2348*e1eccf28SAndroid Build Coastguard Workert: f16 2349*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2350*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 a 2351*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 b 2352*e1eccf28SAndroid Build Coastguard Workerend: 2353*e1eccf28SAndroid Build Coastguard Worker 2354*e1eccf28SAndroid Build Coastguard Workerfunction: native_log 2355*e1eccf28SAndroid Build Coastguard Workerversion: 18 2356*e1eccf28SAndroid Build Coastguard Workerattrib: const 2357*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2358*e1eccf28SAndroid Build Coastguard Workert: f32 2359*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2360*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(10e-10,10e10) 2361*e1eccf28SAndroid Build Coastguard Workersummary: Approximate natural logarithm 2362*e1eccf28SAndroid Build Coastguard Workerdescription: 2363*e1eccf28SAndroid Build Coastguard Worker Fast approximate log. 2364*e1eccf28SAndroid Build Coastguard Worker 2365*e1eccf28SAndroid Build Coastguard Worker It is not accurate for values very close to zero. 2366*e1eccf28SAndroid Build Coastguard Worker 2367*e1eccf28SAndroid Build Coastguard Worker See also @log(). 2368*e1eccf28SAndroid Build Coastguard Workertest: limited 2369*e1eccf28SAndroid Build Coastguard Workerend: 2370*e1eccf28SAndroid Build Coastguard Worker 2371*e1eccf28SAndroid Build Coastguard Workerfunction: native_log 2372*e1eccf28SAndroid Build Coastguard Workerversion: 24 2373*e1eccf28SAndroid Build Coastguard Workerattrib: const 2374*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2375*e1eccf28SAndroid Build Coastguard Workert: f16 2376*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2377*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(10e-5,65504) 2378*e1eccf28SAndroid Build Coastguard Workerend: 2379*e1eccf28SAndroid Build Coastguard Worker 2380*e1eccf28SAndroid Build Coastguard Workerfunction: native_log10 2381*e1eccf28SAndroid Build Coastguard Workerversion: 18 2382*e1eccf28SAndroid Build Coastguard Workerattrib: const 2383*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2384*e1eccf28SAndroid Build Coastguard Workert: f32 2385*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2386*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(10e-10,10e10) 2387*e1eccf28SAndroid Build Coastguard Workersummary: Approximate base 10 logarithm 2388*e1eccf28SAndroid Build Coastguard Workerdescription: 2389*e1eccf28SAndroid Build Coastguard Worker Fast approximate log10. 2390*e1eccf28SAndroid Build Coastguard Worker 2391*e1eccf28SAndroid Build Coastguard Worker It is not accurate for values very close to zero. 2392*e1eccf28SAndroid Build Coastguard Worker 2393*e1eccf28SAndroid Build Coastguard Worker See also @log10(). 2394*e1eccf28SAndroid Build Coastguard Workertest: limited 2395*e1eccf28SAndroid Build Coastguard Workerend: 2396*e1eccf28SAndroid Build Coastguard Worker 2397*e1eccf28SAndroid Build Coastguard Workerfunction: native_log10 2398*e1eccf28SAndroid Build Coastguard Workerversion: 24 2399*e1eccf28SAndroid Build Coastguard Workerattrib: const 2400*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2401*e1eccf28SAndroid Build Coastguard Workert: f16 2402*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2403*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(10e-5,65504) 2404*e1eccf28SAndroid Build Coastguard Workerend: 2405*e1eccf28SAndroid Build Coastguard Worker 2406*e1eccf28SAndroid Build Coastguard Workerfunction: native_log1p 2407*e1eccf28SAndroid Build Coastguard Workerversion: 21 2408*e1eccf28SAndroid Build Coastguard Workerattrib: const 2409*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2410*e1eccf28SAndroid Build Coastguard Workert: f32 2411*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2412*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2413*e1eccf28SAndroid Build Coastguard Workersummary: Approximate natural logarithm of a value plus 1 2414*e1eccf28SAndroid Build Coastguard Workerdescription: 2415*e1eccf28SAndroid Build Coastguard Worker Returns the approximate natural logarithm of (v + 1.0f) 2416*e1eccf28SAndroid Build Coastguard Worker 2417*e1eccf28SAndroid Build Coastguard Worker See also @log1p(). 2418*e1eccf28SAndroid Build Coastguard Workerend: 2419*e1eccf28SAndroid Build Coastguard Worker 2420*e1eccf28SAndroid Build Coastguard Workerfunction: native_log1p 2421*e1eccf28SAndroid Build Coastguard Workerversion: 24 2422*e1eccf28SAndroid Build Coastguard Workerattrib: const 2423*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2424*e1eccf28SAndroid Build Coastguard Workert: f16 2425*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2426*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2427*e1eccf28SAndroid Build Coastguard Workerend: 2428*e1eccf28SAndroid Build Coastguard Worker 2429*e1eccf28SAndroid Build Coastguard Workerfunction: native_log2 2430*e1eccf28SAndroid Build Coastguard Workerversion: 18 2431*e1eccf28SAndroid Build Coastguard Workerattrib: const 2432*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2433*e1eccf28SAndroid Build Coastguard Workert: f32 2434*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2435*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(10e-10,10e10) 2436*e1eccf28SAndroid Build Coastguard Workersummary: Approximate base 2 logarithm 2437*e1eccf28SAndroid Build Coastguard Workerdescription: 2438*e1eccf28SAndroid Build Coastguard Worker Fast approximate log2. 2439*e1eccf28SAndroid Build Coastguard Worker 2440*e1eccf28SAndroid Build Coastguard Worker It is not accurate for values very close to zero. 2441*e1eccf28SAndroid Build Coastguard Worker 2442*e1eccf28SAndroid Build Coastguard Worker See also @log2(). 2443*e1eccf28SAndroid Build Coastguard Workertest: limited 2444*e1eccf28SAndroid Build Coastguard Workerend: 2445*e1eccf28SAndroid Build Coastguard Worker 2446*e1eccf28SAndroid Build Coastguard Workerfunction: native_log2 2447*e1eccf28SAndroid Build Coastguard Workerversion: 24 2448*e1eccf28SAndroid Build Coastguard Workerattrib: const 2449*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2450*e1eccf28SAndroid Build Coastguard Workert: f16 2451*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2452*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(10e-5,65504) 2453*e1eccf28SAndroid Build Coastguard Workerend: 2454*e1eccf28SAndroid Build Coastguard Worker 2455*e1eccf28SAndroid Build Coastguard Workerfunction: native_powr 2456*e1eccf28SAndroid Build Coastguard Workerversion: 18 2457*e1eccf28SAndroid Build Coastguard Workerattrib: const 2458*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2459*e1eccf28SAndroid Build Coastguard Workert: f32 2460*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2461*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 base, range(0,256), "Must be between 0.f and 256.f. The function is not accurate for values very close to zero." 2462*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 exponent, range(-15,15), "Must be between -15.f and 15.f." 2463*e1eccf28SAndroid Build Coastguard Workersummary: Approximate positive base raised to an exponent 2464*e1eccf28SAndroid Build Coastguard Workerdescription: 2465*e1eccf28SAndroid Build Coastguard Worker Fast approximate (base ^ exponent). 2466*e1eccf28SAndroid Build Coastguard Worker 2467*e1eccf28SAndroid Build Coastguard Worker See also @powr(). 2468*e1eccf28SAndroid Build Coastguard Workertest: limited 2469*e1eccf28SAndroid Build Coastguard Workerend: 2470*e1eccf28SAndroid Build Coastguard Worker 2471*e1eccf28SAndroid Build Coastguard Workerfunction: native_powr 2472*e1eccf28SAndroid Build Coastguard Workerversion: 24 2473*e1eccf28SAndroid Build Coastguard Workerattrib: const 2474*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2475*e1eccf28SAndroid Build Coastguard Workert: f16 2476*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2477*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 base, range(0,256) 2478*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 exponent, range(-15,15) 2479*e1eccf28SAndroid Build Coastguard Workerend: 2480*e1eccf28SAndroid Build Coastguard Worker 2481*e1eccf28SAndroid Build Coastguard Workerfunction: native_recip 2482*e1eccf28SAndroid Build Coastguard Workerversion: 21 2483*e1eccf28SAndroid Build Coastguard Workerattrib: const 2484*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2485*e1eccf28SAndroid Build Coastguard Workert: f32 2486*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2487*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2488*e1eccf28SAndroid Build Coastguard Workersummary: Approximate reciprocal 2489*e1eccf28SAndroid Build Coastguard Workerdescription: 2490*e1eccf28SAndroid Build Coastguard Worker Returns the approximate approximate reciprocal of a value. 2491*e1eccf28SAndroid Build Coastguard Worker 2492*e1eccf28SAndroid Build Coastguard Worker See also @half_recip(). 2493*e1eccf28SAndroid Build Coastguard Workerend: 2494*e1eccf28SAndroid Build Coastguard Worker 2495*e1eccf28SAndroid Build Coastguard Workerfunction: native_recip 2496*e1eccf28SAndroid Build Coastguard Workerversion: 24 2497*e1eccf28SAndroid Build Coastguard Workerattrib: const 2498*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2499*e1eccf28SAndroid Build Coastguard Workert: f16 2500*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2501*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2502*e1eccf28SAndroid Build Coastguard Workerend: 2503*e1eccf28SAndroid Build Coastguard Worker 2504*e1eccf28SAndroid Build Coastguard Workerfunction: native_rootn 2505*e1eccf28SAndroid Build Coastguard Workerversion: 21 2506*e1eccf28SAndroid Build Coastguard Workerattrib: const 2507*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2508*e1eccf28SAndroid Build Coastguard Workert: f32 2509*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2510*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2511*e1eccf28SAndroid Build Coastguard Workerarg: int#1 n 2512*e1eccf28SAndroid Build Coastguard Workersummary: Approximate nth root 2513*e1eccf28SAndroid Build Coastguard Workerdescription: 2514*e1eccf28SAndroid Build Coastguard Worker Compute the approximate Nth root of a value. 2515*e1eccf28SAndroid Build Coastguard Worker 2516*e1eccf28SAndroid Build Coastguard Worker See also @rootn(). 2517*e1eccf28SAndroid Build Coastguard Workerend: 2518*e1eccf28SAndroid Build Coastguard Worker 2519*e1eccf28SAndroid Build Coastguard Workerfunction: native_rootn 2520*e1eccf28SAndroid Build Coastguard Workerversion: 24 2521*e1eccf28SAndroid Build Coastguard Workerattrib: const 2522*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2523*e1eccf28SAndroid Build Coastguard Workert: f16 2524*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2525*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2526*e1eccf28SAndroid Build Coastguard Workerarg: int#1 n 2527*e1eccf28SAndroid Build Coastguard Workertest: none 2528*e1eccf28SAndroid Build Coastguard Workerend: 2529*e1eccf28SAndroid Build Coastguard Worker 2530*e1eccf28SAndroid Build Coastguard Workerfunction: native_rsqrt 2531*e1eccf28SAndroid Build Coastguard Workerversion: 21 2532*e1eccf28SAndroid Build Coastguard Workerattrib: const 2533*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2534*e1eccf28SAndroid Build Coastguard Workert: f32 2535*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2536*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2537*e1eccf28SAndroid Build Coastguard Workersummary: Approximate reciprocal of a square root 2538*e1eccf28SAndroid Build Coastguard Workerdescription: 2539*e1eccf28SAndroid Build Coastguard Worker Returns approximate (1 / sqrt(v)). 2540*e1eccf28SAndroid Build Coastguard Worker 2541*e1eccf28SAndroid Build Coastguard Worker See also @rsqrt(), @half_rsqrt(). 2542*e1eccf28SAndroid Build Coastguard Workerend: 2543*e1eccf28SAndroid Build Coastguard Worker 2544*e1eccf28SAndroid Build Coastguard Workerfunction: native_rsqrt 2545*e1eccf28SAndroid Build Coastguard Workerversion: 24 2546*e1eccf28SAndroid Build Coastguard Workerattrib: const 2547*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2548*e1eccf28SAndroid Build Coastguard Workert: f16 2549*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2550*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2551*e1eccf28SAndroid Build Coastguard Workerend: 2552*e1eccf28SAndroid Build Coastguard Worker 2553*e1eccf28SAndroid Build Coastguard Workerfunction: native_sin 2554*e1eccf28SAndroid Build Coastguard Workerversion: 21 2555*e1eccf28SAndroid Build Coastguard Workerattrib: const 2556*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2557*e1eccf28SAndroid Build Coastguard Workert: f32 2558*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2559*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2560*e1eccf28SAndroid Build Coastguard Workersummary: Approximate sine 2561*e1eccf28SAndroid Build Coastguard Workerdescription: 2562*e1eccf28SAndroid Build Coastguard Worker Returns the approximate sine of an angle measured in radians. 2563*e1eccf28SAndroid Build Coastguard Worker 2564*e1eccf28SAndroid Build Coastguard Worker See also @sin(). 2565*e1eccf28SAndroid Build Coastguard Workerend: 2566*e1eccf28SAndroid Build Coastguard Worker 2567*e1eccf28SAndroid Build Coastguard Workerfunction: native_sin 2568*e1eccf28SAndroid Build Coastguard Workerversion: 24 2569*e1eccf28SAndroid Build Coastguard Workerattrib: const 2570*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2571*e1eccf28SAndroid Build Coastguard Workert: f16 2572*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2573*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-314,314) 2574*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 2575*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 2576*e1eccf28SAndroid Build Coastguard Workerend: 2577*e1eccf28SAndroid Build Coastguard Worker 2578*e1eccf28SAndroid Build Coastguard Workerfunction: native_sincos 2579*e1eccf28SAndroid Build Coastguard Workerversion: 21 2580*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2581*e1eccf28SAndroid Build Coastguard Workert: f32 2582*e1eccf28SAndroid Build Coastguard Workerret: #2#1, "Sine." 2583*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, "Incoming value in radians." 2584*e1eccf28SAndroid Build Coastguard Workerarg: #2#1* cos, "*cos will be set to the cosine value." 2585*e1eccf28SAndroid Build Coastguard Workersummary: Approximate sine and cosine 2586*e1eccf28SAndroid Build Coastguard Workerdescription: 2587*e1eccf28SAndroid Build Coastguard Worker Returns the approximate sine and cosine of a value. 2588*e1eccf28SAndroid Build Coastguard Worker 2589*e1eccf28SAndroid Build Coastguard Worker See also @sincos(). 2590*e1eccf28SAndroid Build Coastguard Worker# TODO Temporary 2591*e1eccf28SAndroid Build Coastguard Workertest: limited(0.0005) 2592*e1eccf28SAndroid Build Coastguard Workerend: 2593*e1eccf28SAndroid Build Coastguard Worker 2594*e1eccf28SAndroid Build Coastguard Workerfunction: native_sincos 2595*e1eccf28SAndroid Build Coastguard Workerversion: 24 2596*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2597*e1eccf28SAndroid Build Coastguard Workert: f16 2598*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2599*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2600*e1eccf28SAndroid Build Coastguard Workerarg: #2#1* cos, range(-314,314) 2601*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 2602*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 2603*e1eccf28SAndroid Build Coastguard Workerend: 2604*e1eccf28SAndroid Build Coastguard Worker 2605*e1eccf28SAndroid Build Coastguard Workerfunction: native_sinh 2606*e1eccf28SAndroid Build Coastguard Workerversion: 21 2607*e1eccf28SAndroid Build Coastguard Workerattrib: const 2608*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2609*e1eccf28SAndroid Build Coastguard Workert: f32 2610*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2611*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2612*e1eccf28SAndroid Build Coastguard Workersummary: Approximate hyperbolic sine 2613*e1eccf28SAndroid Build Coastguard Workerdescription: 2614*e1eccf28SAndroid Build Coastguard Worker Returns the approximate hyperbolic sine of a value specified in radians. 2615*e1eccf28SAndroid Build Coastguard Worker 2616*e1eccf28SAndroid Build Coastguard Worker See also @sinh(). 2617*e1eccf28SAndroid Build Coastguard Workerend: 2618*e1eccf28SAndroid Build Coastguard Worker 2619*e1eccf28SAndroid Build Coastguard Workerfunction: native_sinh 2620*e1eccf28SAndroid Build Coastguard Workerversion: 24 2621*e1eccf28SAndroid Build Coastguard Workerattrib: const 2622*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2623*e1eccf28SAndroid Build Coastguard Workert: f16 2624*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2625*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2626*e1eccf28SAndroid Build Coastguard Workerend: 2627*e1eccf28SAndroid Build Coastguard Worker 2628*e1eccf28SAndroid Build Coastguard Workerfunction: native_sinpi 2629*e1eccf28SAndroid Build Coastguard Workerversion: 21 2630*e1eccf28SAndroid Build Coastguard Workerattrib: const 2631*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2632*e1eccf28SAndroid Build Coastguard Workert: f32 2633*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2634*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2635*e1eccf28SAndroid Build Coastguard Workersummary: Approximate sine of a number multiplied by pi 2636*e1eccf28SAndroid Build Coastguard Workerdescription: 2637*e1eccf28SAndroid Build Coastguard Worker Returns the approximate sine of (v * pi), where (v * pi) is measured in radians. 2638*e1eccf28SAndroid Build Coastguard Worker 2639*e1eccf28SAndroid Build Coastguard Worker To get the sine of a value measured in degrees, call <code>sinpi(v / 180.f)</code>. 2640*e1eccf28SAndroid Build Coastguard Worker 2641*e1eccf28SAndroid Build Coastguard Worker See also @sinpi(). 2642*e1eccf28SAndroid Build Coastguard Workerend: 2643*e1eccf28SAndroid Build Coastguard Worker 2644*e1eccf28SAndroid Build Coastguard Workerfunction: native_sinpi 2645*e1eccf28SAndroid Build Coastguard Workerversion: 24 2646*e1eccf28SAndroid Build Coastguard Workerattrib: const 2647*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2648*e1eccf28SAndroid Build Coastguard Workert: f16 2649*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2650*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-100,100) 2651*e1eccf28SAndroid Build Coastguard Worker# Absolute error of 2^-11, i.e. 0.00048828125 2652*e1eccf28SAndroid Build Coastguard Workertest: limited(0.00048828125) 2653*e1eccf28SAndroid Build Coastguard Workerend: 2654*e1eccf28SAndroid Build Coastguard Worker 2655*e1eccf28SAndroid Build Coastguard Workerfunction: native_sqrt 2656*e1eccf28SAndroid Build Coastguard Workerversion: 21 2657*e1eccf28SAndroid Build Coastguard Workerattrib: const 2658*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2659*e1eccf28SAndroid Build Coastguard Workert: f32 2660*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2661*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2662*e1eccf28SAndroid Build Coastguard Workersummary: Approximate square root 2663*e1eccf28SAndroid Build Coastguard Workerdescription: 2664*e1eccf28SAndroid Build Coastguard Worker Returns the approximate sqrt(v). 2665*e1eccf28SAndroid Build Coastguard Worker 2666*e1eccf28SAndroid Build Coastguard Worker See also @sqrt(), @half_sqrt(). 2667*e1eccf28SAndroid Build Coastguard Workerend: 2668*e1eccf28SAndroid Build Coastguard Worker 2669*e1eccf28SAndroid Build Coastguard Workerfunction: native_sqrt 2670*e1eccf28SAndroid Build Coastguard Workerversion: 24 2671*e1eccf28SAndroid Build Coastguard Workerattrib: const 2672*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2673*e1eccf28SAndroid Build Coastguard Workert: f16 2674*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2675*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2676*e1eccf28SAndroid Build Coastguard Workerend: 2677*e1eccf28SAndroid Build Coastguard Worker 2678*e1eccf28SAndroid Build Coastguard Workerfunction: native_tan 2679*e1eccf28SAndroid Build Coastguard Workerversion: 21 2680*e1eccf28SAndroid Build Coastguard Workerattrib: const 2681*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2682*e1eccf28SAndroid Build Coastguard Workert: f32 2683*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2684*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2685*e1eccf28SAndroid Build Coastguard Workersummary: Approximate tangent 2686*e1eccf28SAndroid Build Coastguard Workerdescription: 2687*e1eccf28SAndroid Build Coastguard Worker Returns the approximate tangent of an angle measured in radians. 2688*e1eccf28SAndroid Build Coastguard Workerend: 2689*e1eccf28SAndroid Build Coastguard Worker 2690*e1eccf28SAndroid Build Coastguard Workerfunction: native_tan 2691*e1eccf28SAndroid Build Coastguard Workerversion: 24 2692*e1eccf28SAndroid Build Coastguard Workerattrib: const 2693*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2694*e1eccf28SAndroid Build Coastguard Workert: f16 2695*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2696*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-314,314) 2697*e1eccf28SAndroid Build Coastguard Workertest: custom 2698*e1eccf28SAndroid Build Coastguard Workerend: 2699*e1eccf28SAndroid Build Coastguard Worker 2700*e1eccf28SAndroid Build Coastguard Workerfunction: native_tanh 2701*e1eccf28SAndroid Build Coastguard Workerversion: 21 2702*e1eccf28SAndroid Build Coastguard Workerattrib: const 2703*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2704*e1eccf28SAndroid Build Coastguard Workert: f32 2705*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2706*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2707*e1eccf28SAndroid Build Coastguard Workersummary: Approximate hyperbolic tangent 2708*e1eccf28SAndroid Build Coastguard Workerdescription: 2709*e1eccf28SAndroid Build Coastguard Worker Returns the approximate hyperbolic tangent of a value. 2710*e1eccf28SAndroid Build Coastguard Worker 2711*e1eccf28SAndroid Build Coastguard Worker See also @tanh(). 2712*e1eccf28SAndroid Build Coastguard Workerend: 2713*e1eccf28SAndroid Build Coastguard Worker 2714*e1eccf28SAndroid Build Coastguard Workerfunction: native_tanh 2715*e1eccf28SAndroid Build Coastguard Workerversion: 24 2716*e1eccf28SAndroid Build Coastguard Workerattrib: const 2717*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2718*e1eccf28SAndroid Build Coastguard Workert: f16 2719*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2720*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2721*e1eccf28SAndroid Build Coastguard Workerend: 2722*e1eccf28SAndroid Build Coastguard Worker 2723*e1eccf28SAndroid Build Coastguard Workerfunction: native_tanpi 2724*e1eccf28SAndroid Build Coastguard Workerversion: 21 2725*e1eccf28SAndroid Build Coastguard Workerattrib: const 2726*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2727*e1eccf28SAndroid Build Coastguard Workert: f32 2728*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2729*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2730*e1eccf28SAndroid Build Coastguard Workersummary: Approximate tangent of a number multiplied by pi 2731*e1eccf28SAndroid Build Coastguard Workerdescription: 2732*e1eccf28SAndroid Build Coastguard Worker Returns the approximate tangent of (v * pi), where (v * pi) is measured in radians. 2733*e1eccf28SAndroid Build Coastguard Worker 2734*e1eccf28SAndroid Build Coastguard Worker To get the tangent of a value measured in degrees, call <code>tanpi(v / 180.f)</code>. 2735*e1eccf28SAndroid Build Coastguard Worker 2736*e1eccf28SAndroid Build Coastguard Worker See also @tanpi(). 2737*e1eccf28SAndroid Build Coastguard Workerend: 2738*e1eccf28SAndroid Build Coastguard Worker 2739*e1eccf28SAndroid Build Coastguard Workerfunction: native_tanpi 2740*e1eccf28SAndroid Build Coastguard Workerversion: 24 2741*e1eccf28SAndroid Build Coastguard Workerattrib: const 2742*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2743*e1eccf28SAndroid Build Coastguard Workert: f16 2744*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2745*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, range(-100,100) 2746*e1eccf28SAndroid Build Coastguard Workertest: custom 2747*e1eccf28SAndroid Build Coastguard Workerend: 2748*e1eccf28SAndroid Build Coastguard Worker 2749*e1eccf28SAndroid Build Coastguard Workerfunction: nextafter 2750*e1eccf28SAndroid Build Coastguard Workerversion: 9 2751*e1eccf28SAndroid Build Coastguard Workerattrib: const 2752*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2753*e1eccf28SAndroid Build Coastguard Workert: f32 2754*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2755*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2756*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 target 2757*e1eccf28SAndroid Build Coastguard Workersummary: Next floating point number 2758*e1eccf28SAndroid Build Coastguard Workerdescription: 2759*e1eccf28SAndroid Build Coastguard Worker Returns the next representable floating point number from v towards target. 2760*e1eccf28SAndroid Build Coastguard Worker 2761*e1eccf28SAndroid Build Coastguard Worker In rs_fp_relaxed mode, a denormalized input value may not yield the next denormalized 2762*e1eccf28SAndroid Build Coastguard Worker value, as support of denormalized values is optional in relaxed mode. 2763*e1eccf28SAndroid Build Coastguard Workerend: 2764*e1eccf28SAndroid Build Coastguard Worker 2765*e1eccf28SAndroid Build Coastguard Workerfunction: nextafter 2766*e1eccf28SAndroid Build Coastguard Workerversion: 24 2767*e1eccf28SAndroid Build Coastguard Workerattrib: const 2768*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2769*e1eccf28SAndroid Build Coastguard Workert: f16 2770*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2771*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2772*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 target 2773*e1eccf28SAndroid Build Coastguard Workertest: none 2774*e1eccf28SAndroid Build Coastguard Workerend: 2775*e1eccf28SAndroid Build Coastguard Worker 2776*e1eccf28SAndroid Build Coastguard Workerfunction: pow 2777*e1eccf28SAndroid Build Coastguard Workerversion: 9 2778*e1eccf28SAndroid Build Coastguard Workerattrib: const 2779*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2780*e1eccf28SAndroid Build Coastguard Workert: f32 2781*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2782*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 base 2783*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 exponent 2784*e1eccf28SAndroid Build Coastguard Workersummary: Base raised to an exponent 2785*e1eccf28SAndroid Build Coastguard Workerdescription: 2786*e1eccf28SAndroid Build Coastguard Worker Returns base raised to the power exponent, i.e. base ^ exponent. 2787*e1eccf28SAndroid Build Coastguard Worker 2788*e1eccf28SAndroid Build Coastguard Worker @pown() and @powr() are similar. @pown() takes an integer exponent. @powr() assumes the 2789*e1eccf28SAndroid Build Coastguard Worker base to be non-negative. 2790*e1eccf28SAndroid Build Coastguard Workerend: 2791*e1eccf28SAndroid Build Coastguard Worker 2792*e1eccf28SAndroid Build Coastguard Workerfunction: pow 2793*e1eccf28SAndroid Build Coastguard Workerversion: 24 2794*e1eccf28SAndroid Build Coastguard Workerattrib: const 2795*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2796*e1eccf28SAndroid Build Coastguard Workert: f16 2797*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2798*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 base 2799*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 exponent 2800*e1eccf28SAndroid Build Coastguard Workerend: 2801*e1eccf28SAndroid Build Coastguard Worker 2802*e1eccf28SAndroid Build Coastguard Workerfunction: pown 2803*e1eccf28SAndroid Build Coastguard Workerversion: 9 2804*e1eccf28SAndroid Build Coastguard Workerattrib: const 2805*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2806*e1eccf28SAndroid Build Coastguard Workert: f32 2807*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2808*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 base 2809*e1eccf28SAndroid Build Coastguard Workerarg: int#1 exponent 2810*e1eccf28SAndroid Build Coastguard Workersummary: Base raised to an integer exponent 2811*e1eccf28SAndroid Build Coastguard Workerdescription: 2812*e1eccf28SAndroid Build Coastguard Worker Returns base raised to the power exponent, i.e. base ^ exponent. 2813*e1eccf28SAndroid Build Coastguard Worker 2814*e1eccf28SAndroid Build Coastguard Worker @pow() and @powr() are similar. The both take a float exponent. @powr() also assumes the 2815*e1eccf28SAndroid Build Coastguard Worker base to be non-negative. 2816*e1eccf28SAndroid Build Coastguard Workerend: 2817*e1eccf28SAndroid Build Coastguard Worker 2818*e1eccf28SAndroid Build Coastguard Workerfunction: pown 2819*e1eccf28SAndroid Build Coastguard Workerversion: 24 2820*e1eccf28SAndroid Build Coastguard Workerattrib: const 2821*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2822*e1eccf28SAndroid Build Coastguard Workert: f16 2823*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2824*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 base 2825*e1eccf28SAndroid Build Coastguard Workerarg: int#1 exponent 2826*e1eccf28SAndroid Build Coastguard Workerend: 2827*e1eccf28SAndroid Build Coastguard Worker 2828*e1eccf28SAndroid Build Coastguard Workerfunction: powr 2829*e1eccf28SAndroid Build Coastguard Workerversion: 9 2830*e1eccf28SAndroid Build Coastguard Workerattrib: const 2831*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2832*e1eccf28SAndroid Build Coastguard Workert: f32 2833*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2834*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 base, range(0,3000) 2835*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 exponent 2836*e1eccf28SAndroid Build Coastguard Workersummary: Positive base raised to an exponent 2837*e1eccf28SAndroid Build Coastguard Workerdescription: 2838*e1eccf28SAndroid Build Coastguard Worker Returns base raised to the power exponent, i.e. base ^ exponent. base must be >= 0. 2839*e1eccf28SAndroid Build Coastguard Worker 2840*e1eccf28SAndroid Build Coastguard Worker @pow() and @pown() are similar. They both make no assumptions about the base. 2841*e1eccf28SAndroid Build Coastguard Worker @pow() takes a float exponent while @pown() take an integer. 2842*e1eccf28SAndroid Build Coastguard Worker 2843*e1eccf28SAndroid Build Coastguard Worker See also @native_powr(). 2844*e1eccf28SAndroid Build Coastguard Workerend: 2845*e1eccf28SAndroid Build Coastguard Worker 2846*e1eccf28SAndroid Build Coastguard Workerfunction: powr 2847*e1eccf28SAndroid Build Coastguard Workerversion: 24 2848*e1eccf28SAndroid Build Coastguard Workerattrib: const 2849*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2850*e1eccf28SAndroid Build Coastguard Workert: f16 2851*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2852*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 base, range(0,300) 2853*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 exponent 2854*e1eccf28SAndroid Build Coastguard Workerend: 2855*e1eccf28SAndroid Build Coastguard Worker 2856*e1eccf28SAndroid Build Coastguard Workerfunction: radians 2857*e1eccf28SAndroid Build Coastguard Workerversion: 9 2858*e1eccf28SAndroid Build Coastguard Workerattrib: const 2859*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2860*e1eccf28SAndroid Build Coastguard Workert: f32 2861*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2862*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2863*e1eccf28SAndroid Build Coastguard Workersummary: Converts degrees into radians 2864*e1eccf28SAndroid Build Coastguard Workerdescription: 2865*e1eccf28SAndroid Build Coastguard Worker Converts from degrees to radians. 2866*e1eccf28SAndroid Build Coastguard Workerend: 2867*e1eccf28SAndroid Build Coastguard Worker 2868*e1eccf28SAndroid Build Coastguard Workerfunction: radians 2869*e1eccf28SAndroid Build Coastguard Workerversion: 24 2870*e1eccf28SAndroid Build Coastguard Workerattrib: const 2871*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2872*e1eccf28SAndroid Build Coastguard Workert: f16 2873*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2874*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2875*e1eccf28SAndroid Build Coastguard Workerend: 2876*e1eccf28SAndroid Build Coastguard Worker 2877*e1eccf28SAndroid Build Coastguard Workerfunction: remainder 2878*e1eccf28SAndroid Build Coastguard Workerversion: 9 2879*e1eccf28SAndroid Build Coastguard Workerattrib: const 2880*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2881*e1eccf28SAndroid Build Coastguard Workert: f32 2882*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2883*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 2884*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 2885*e1eccf28SAndroid Build Coastguard Workersummary: Remainder of a division 2886*e1eccf28SAndroid Build Coastguard Workerdescription: 2887*e1eccf28SAndroid Build Coastguard Worker Returns the remainder of (numerator / denominator), where the quotient is rounded towards 2888*e1eccf28SAndroid Build Coastguard Worker the nearest integer. 2889*e1eccf28SAndroid Build Coastguard Worker 2890*e1eccf28SAndroid Build Coastguard Worker The function @fmod() is similar but rounds toward the closest interger. 2891*e1eccf28SAndroid Build Coastguard Worker For example, <code>@fmod(-3.8f, 2.f)</code> returns -1.8f (-3.8f - -1.f * 2.f) 2892*e1eccf28SAndroid Build Coastguard Worker while <code>remainder(-3.8f, 2.f)</code> returns 0.2f (-3.8f - -2.f * 2.f). 2893*e1eccf28SAndroid Build Coastguard Workerend: 2894*e1eccf28SAndroid Build Coastguard Worker 2895*e1eccf28SAndroid Build Coastguard Workerfunction: remainder 2896*e1eccf28SAndroid Build Coastguard Workerversion: 24 2897*e1eccf28SAndroid Build Coastguard Workerattrib: const 2898*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2899*e1eccf28SAndroid Build Coastguard Workert: f16 2900*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2901*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 2902*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 2903*e1eccf28SAndroid Build Coastguard Workerend: 2904*e1eccf28SAndroid Build Coastguard Worker 2905*e1eccf28SAndroid Build Coastguard Workerfunction: remquo 2906*e1eccf28SAndroid Build Coastguard Workerversion: 9 2907*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2908*e1eccf28SAndroid Build Coastguard Workert: f32 2909*e1eccf28SAndroid Build Coastguard Workerret: #2#1, "Remainder, precise only for the low three bits." 2910*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator, "Numerator." 2911*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator, "Denominator." 2912*e1eccf28SAndroid Build Coastguard Workerarg: int#1* quotient, "*quotient will be set to the integer quotient." 2913*e1eccf28SAndroid Build Coastguard Workersummary: Remainder and quotient of a division 2914*e1eccf28SAndroid Build Coastguard Workerdescription: 2915*e1eccf28SAndroid Build Coastguard Worker Returns the quotient and the remainder of (numerator / denominator). 2916*e1eccf28SAndroid Build Coastguard Worker 2917*e1eccf28SAndroid Build Coastguard Worker Only the sign and lowest three bits of the quotient are guaranteed to be accurate. 2918*e1eccf28SAndroid Build Coastguard Worker 2919*e1eccf28SAndroid Build Coastguard Worker This function is useful for implementing periodic functions. The low three bits of the 2920*e1eccf28SAndroid Build Coastguard Worker quotient gives the quadrant and the remainder the distance within the quadrant. 2921*e1eccf28SAndroid Build Coastguard Worker For example, an implementation of @sin(x) could call <code>remquo(x, PI / 2.f, &quadrant)</code> 2922*e1eccf28SAndroid Build Coastguard Worker to reduce very large value of x to something within a limited range. 2923*e1eccf28SAndroid Build Coastguard Worker 2924*e1eccf28SAndroid Build Coastguard Worker Example: <code>remquo(-23.5f, 8.f, &quot)</code> sets the lowest three bits of quot to 3 2925*e1eccf28SAndroid Build Coastguard Worker and the sign negative. It returns 0.5f. 2926*e1eccf28SAndroid Build Coastguard Workertest: custom 2927*e1eccf28SAndroid Build Coastguard Workerend: 2928*e1eccf28SAndroid Build Coastguard Worker 2929*e1eccf28SAndroid Build Coastguard Workerfunction: remquo 2930*e1eccf28SAndroid Build Coastguard Workerversion: 24 2931*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2932*e1eccf28SAndroid Build Coastguard Workert: f16 2933*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2934*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 numerator 2935*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 denominator 2936*e1eccf28SAndroid Build Coastguard Workerarg: int#1* quotient 2937*e1eccf28SAndroid Build Coastguard Workertest: none 2938*e1eccf28SAndroid Build Coastguard Workerend: 2939*e1eccf28SAndroid Build Coastguard Worker 2940*e1eccf28SAndroid Build Coastguard Workerfunction: rint 2941*e1eccf28SAndroid Build Coastguard Workerversion: 9 2942*e1eccf28SAndroid Build Coastguard Workerattrib: const 2943*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2944*e1eccf28SAndroid Build Coastguard Workert: f32 2945*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2946*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2947*e1eccf28SAndroid Build Coastguard Workersummary: Round to even 2948*e1eccf28SAndroid Build Coastguard Workerdescription: 2949*e1eccf28SAndroid Build Coastguard Worker Rounds to the nearest integral value. 2950*e1eccf28SAndroid Build Coastguard Worker 2951*e1eccf28SAndroid Build Coastguard Worker rint() rounds half values to even. For example, <code>rint(0.5f)</code> returns 0.f and 2952*e1eccf28SAndroid Build Coastguard Worker <code>rint(1.5f)</code> returns 2.f. Similarly, <code>rint(-0.5f)</code> returns -0.f and 2953*e1eccf28SAndroid Build Coastguard Worker <code>rint(-1.5f)</code> returns -2.f. 2954*e1eccf28SAndroid Build Coastguard Worker 2955*e1eccf28SAndroid Build Coastguard Worker @round() is similar but rounds away from zero. @trunc() truncates the decimal fraction. 2956*e1eccf28SAndroid Build Coastguard Workerend: 2957*e1eccf28SAndroid Build Coastguard Worker 2958*e1eccf28SAndroid Build Coastguard Workerfunction: rint 2959*e1eccf28SAndroid Build Coastguard Workerversion: 24 2960*e1eccf28SAndroid Build Coastguard Workerattrib: const 2961*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2962*e1eccf28SAndroid Build Coastguard Workert: f16 2963*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2964*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2965*e1eccf28SAndroid Build Coastguard Workerend: 2966*e1eccf28SAndroid Build Coastguard Worker 2967*e1eccf28SAndroid Build Coastguard Workerfunction: rootn 2968*e1eccf28SAndroid Build Coastguard Workerversion: 9 2969*e1eccf28SAndroid Build Coastguard Workerattrib: const 2970*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2971*e1eccf28SAndroid Build Coastguard Workert: f32 2972*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2973*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2974*e1eccf28SAndroid Build Coastguard Workerarg: int#1 n 2975*e1eccf28SAndroid Build Coastguard Workersummary: Nth root 2976*e1eccf28SAndroid Build Coastguard Workerdescription: 2977*e1eccf28SAndroid Build Coastguard Worker Compute the Nth root of a value. 2978*e1eccf28SAndroid Build Coastguard Worker 2979*e1eccf28SAndroid Build Coastguard Worker See also @native_rootn(). 2980*e1eccf28SAndroid Build Coastguard Workerend: 2981*e1eccf28SAndroid Build Coastguard Worker 2982*e1eccf28SAndroid Build Coastguard Workerfunction: rootn 2983*e1eccf28SAndroid Build Coastguard Workerversion: 24 2984*e1eccf28SAndroid Build Coastguard Workerattrib: const 2985*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2986*e1eccf28SAndroid Build Coastguard Workert: f16 2987*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2988*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 2989*e1eccf28SAndroid Build Coastguard Workerarg: int#1 n 2990*e1eccf28SAndroid Build Coastguard Workertest: none 2991*e1eccf28SAndroid Build Coastguard Workerend: 2992*e1eccf28SAndroid Build Coastguard Worker 2993*e1eccf28SAndroid Build Coastguard Workerfunction: round 2994*e1eccf28SAndroid Build Coastguard Workerversion: 9 2995*e1eccf28SAndroid Build Coastguard Workerattrib: const 2996*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 2997*e1eccf28SAndroid Build Coastguard Workert: f32 2998*e1eccf28SAndroid Build Coastguard Workerret: #2#1 2999*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3000*e1eccf28SAndroid Build Coastguard Workersummary: Round away from zero 3001*e1eccf28SAndroid Build Coastguard Workerdescription: 3002*e1eccf28SAndroid Build Coastguard Worker Round to the nearest integral value. 3003*e1eccf28SAndroid Build Coastguard Worker 3004*e1eccf28SAndroid Build Coastguard Worker round() rounds half values away from zero. For example, <code>round(0.5f)</code> returns 1.f 3005*e1eccf28SAndroid Build Coastguard Worker and <code>round(1.5f)</code> returns 2.f. Similarly, <code>round(-0.5f)</code> returns -1.f 3006*e1eccf28SAndroid Build Coastguard Worker and <code>round(-1.5f)</code> returns -2.f. 3007*e1eccf28SAndroid Build Coastguard Worker 3008*e1eccf28SAndroid Build Coastguard Worker @rint() is similar but rounds half values toward even. @trunc() truncates the decimal fraction. 3009*e1eccf28SAndroid Build Coastguard Workerend: 3010*e1eccf28SAndroid Build Coastguard Worker 3011*e1eccf28SAndroid Build Coastguard Workerfunction: round 3012*e1eccf28SAndroid Build Coastguard Workerversion: 24 3013*e1eccf28SAndroid Build Coastguard Workerattrib: const 3014*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3015*e1eccf28SAndroid Build Coastguard Workert: f16 3016*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3017*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3018*e1eccf28SAndroid Build Coastguard Workerend: 3019*e1eccf28SAndroid Build Coastguard Worker 3020*e1eccf28SAndroid Build Coastguard Workerfunction: rsqrt 3021*e1eccf28SAndroid Build Coastguard Workerversion: 9 3022*e1eccf28SAndroid Build Coastguard Workerattrib: const 3023*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3024*e1eccf28SAndroid Build Coastguard Workert: f32 3025*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3026*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3027*e1eccf28SAndroid Build Coastguard Workersummary: Reciprocal of a square root 3028*e1eccf28SAndroid Build Coastguard Workerdescription: 3029*e1eccf28SAndroid Build Coastguard Worker Returns (1 / sqrt(v)). 3030*e1eccf28SAndroid Build Coastguard Worker 3031*e1eccf28SAndroid Build Coastguard Worker See also @half_rsqrt(), @native_rsqrt(). 3032*e1eccf28SAndroid Build Coastguard Workerend: 3033*e1eccf28SAndroid Build Coastguard Worker 3034*e1eccf28SAndroid Build Coastguard Workerfunction: rsqrt 3035*e1eccf28SAndroid Build Coastguard Workerversion: 24 3036*e1eccf28SAndroid Build Coastguard Workerattrib: const 3037*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3038*e1eccf28SAndroid Build Coastguard Workert: f16 3039*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3040*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3041*e1eccf28SAndroid Build Coastguard Workerend: 3042*e1eccf28SAndroid Build Coastguard Worker 3043*e1eccf28SAndroid Build Coastguard Workerfunction: sign 3044*e1eccf28SAndroid Build Coastguard Workerversion: 9 3045*e1eccf28SAndroid Build Coastguard Workerattrib: const 3046*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3047*e1eccf28SAndroid Build Coastguard Workert: f32 3048*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3049*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3050*e1eccf28SAndroid Build Coastguard Workersummary: Sign of a value 3051*e1eccf28SAndroid Build Coastguard Workerdescription: 3052*e1eccf28SAndroid Build Coastguard Worker Returns the sign of a value. 3053*e1eccf28SAndroid Build Coastguard Worker 3054*e1eccf28SAndroid Build Coastguard Worker if (v < 0) return -1.f; 3055*e1eccf28SAndroid Build Coastguard Worker else if (v > 0) return 1.f; 3056*e1eccf28SAndroid Build Coastguard Worker else return 0.f; 3057*e1eccf28SAndroid Build Coastguard Workerend: 3058*e1eccf28SAndroid Build Coastguard Worker 3059*e1eccf28SAndroid Build Coastguard Workerfunction: sign 3060*e1eccf28SAndroid Build Coastguard Workerversion:24 3061*e1eccf28SAndroid Build Coastguard Workerattrib: const 3062*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3063*e1eccf28SAndroid Build Coastguard Workert: f16 3064*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3065*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3066*e1eccf28SAndroid Build Coastguard Workerend: 3067*e1eccf28SAndroid Build Coastguard Worker 3068*e1eccf28SAndroid Build Coastguard Workerfunction: sin 3069*e1eccf28SAndroid Build Coastguard Workerversion: 9 3070*e1eccf28SAndroid Build Coastguard Workerattrib: const 3071*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3072*e1eccf28SAndroid Build Coastguard Workert: f32 3073*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3074*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3075*e1eccf28SAndroid Build Coastguard Workersummary: Sine 3076*e1eccf28SAndroid Build Coastguard Workerdescription: 3077*e1eccf28SAndroid Build Coastguard Worker Returns the sine of an angle measured in radians. 3078*e1eccf28SAndroid Build Coastguard Worker 3079*e1eccf28SAndroid Build Coastguard Worker See also @native_sin(). 3080*e1eccf28SAndroid Build Coastguard Workerend: 3081*e1eccf28SAndroid Build Coastguard Worker 3082*e1eccf28SAndroid Build Coastguard Workerfunction: sin 3083*e1eccf28SAndroid Build Coastguard Workerversion: 24 3084*e1eccf28SAndroid Build Coastguard Workerattrib: const 3085*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3086*e1eccf28SAndroid Build Coastguard Workert: f16 3087*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3088*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3089*e1eccf28SAndroid Build Coastguard Workerend: 3090*e1eccf28SAndroid Build Coastguard Worker 3091*e1eccf28SAndroid Build Coastguard Workerfunction: sincos 3092*e1eccf28SAndroid Build Coastguard Workerversion: 9 3093*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3094*e1eccf28SAndroid Build Coastguard Workert: f32 3095*e1eccf28SAndroid Build Coastguard Workerret: #2#1, "Sine of v." 3096*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v, "Incoming value in radians." 3097*e1eccf28SAndroid Build Coastguard Workerarg: #2#1* cos, "*cos will be set to the cosine value." 3098*e1eccf28SAndroid Build Coastguard Workersummary: Sine and cosine 3099*e1eccf28SAndroid Build Coastguard Workerdescription: 3100*e1eccf28SAndroid Build Coastguard Worker Returns the sine and cosine of a value. 3101*e1eccf28SAndroid Build Coastguard Worker 3102*e1eccf28SAndroid Build Coastguard Worker See also @native_sincos(). 3103*e1eccf28SAndroid Build Coastguard Workerend: 3104*e1eccf28SAndroid Build Coastguard Worker 3105*e1eccf28SAndroid Build Coastguard Workerfunction: sincos 3106*e1eccf28SAndroid Build Coastguard Workerversion: 24 3107*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3108*e1eccf28SAndroid Build Coastguard Workert: f16 3109*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3110*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3111*e1eccf28SAndroid Build Coastguard Workerarg: #2#1* cos 3112*e1eccf28SAndroid Build Coastguard Workerend: 3113*e1eccf28SAndroid Build Coastguard Worker 3114*e1eccf28SAndroid Build Coastguard Workerfunction: sinh 3115*e1eccf28SAndroid Build Coastguard Workerversion: 9 3116*e1eccf28SAndroid Build Coastguard Workerattrib: const 3117*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3118*e1eccf28SAndroid Build Coastguard Workert: f32 3119*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3120*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3121*e1eccf28SAndroid Build Coastguard Workersummary: Hyperbolic sine 3122*e1eccf28SAndroid Build Coastguard Workerdescription: 3123*e1eccf28SAndroid Build Coastguard Worker Returns the hyperbolic sine of v, where v is measured in radians. 3124*e1eccf28SAndroid Build Coastguard Worker 3125*e1eccf28SAndroid Build Coastguard Worker See also @native_sinh(). 3126*e1eccf28SAndroid Build Coastguard Workerend: 3127*e1eccf28SAndroid Build Coastguard Worker 3128*e1eccf28SAndroid Build Coastguard Workerfunction: sinh 3129*e1eccf28SAndroid Build Coastguard Workerversion: 24 3130*e1eccf28SAndroid Build Coastguard Workerattrib: const 3131*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3132*e1eccf28SAndroid Build Coastguard Workert: f16 3133*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3134*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3135*e1eccf28SAndroid Build Coastguard Workerend: 3136*e1eccf28SAndroid Build Coastguard Worker 3137*e1eccf28SAndroid Build Coastguard Workerfunction: sinpi 3138*e1eccf28SAndroid Build Coastguard Workerversion: 9 3139*e1eccf28SAndroid Build Coastguard Workerattrib: const 3140*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3141*e1eccf28SAndroid Build Coastguard Workert: f32 3142*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3143*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3144*e1eccf28SAndroid Build Coastguard Workersummary: Sine of a number multiplied by pi 3145*e1eccf28SAndroid Build Coastguard Workerdescription: 3146*e1eccf28SAndroid Build Coastguard Worker Returns the sine of (v * pi), where (v * pi) is measured in radians. 3147*e1eccf28SAndroid Build Coastguard Worker 3148*e1eccf28SAndroid Build Coastguard Worker To get the sine of a value measured in degrees, call <code>sinpi(v / 180.f)</code>. 3149*e1eccf28SAndroid Build Coastguard Worker 3150*e1eccf28SAndroid Build Coastguard Worker See also @native_sinpi(). 3151*e1eccf28SAndroid Build Coastguard Workerend: 3152*e1eccf28SAndroid Build Coastguard Worker 3153*e1eccf28SAndroid Build Coastguard Workerfunction: sinpi 3154*e1eccf28SAndroid Build Coastguard Workerversion: 24 3155*e1eccf28SAndroid Build Coastguard Workerattrib: const 3156*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3157*e1eccf28SAndroid Build Coastguard Workert: f16 3158*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3159*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3160*e1eccf28SAndroid Build Coastguard Workerend: 3161*e1eccf28SAndroid Build Coastguard Worker 3162*e1eccf28SAndroid Build Coastguard Workerfunction: sqrt 3163*e1eccf28SAndroid Build Coastguard Workerversion: 9 3164*e1eccf28SAndroid Build Coastguard Workerattrib: const 3165*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3166*e1eccf28SAndroid Build Coastguard Workert: f32 3167*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3168*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3169*e1eccf28SAndroid Build Coastguard Workersummary: Square root 3170*e1eccf28SAndroid Build Coastguard Workerdescription: 3171*e1eccf28SAndroid Build Coastguard Worker Returns the square root of a value. 3172*e1eccf28SAndroid Build Coastguard Worker 3173*e1eccf28SAndroid Build Coastguard Worker See also @half_sqrt(), @native_sqrt(). 3174*e1eccf28SAndroid Build Coastguard Workerend: 3175*e1eccf28SAndroid Build Coastguard Worker 3176*e1eccf28SAndroid Build Coastguard Workerfunction: sqrt 3177*e1eccf28SAndroid Build Coastguard Workerversion: 24 3178*e1eccf28SAndroid Build Coastguard Workerattrib: const 3179*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3180*e1eccf28SAndroid Build Coastguard Workert: f16 3181*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3182*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3183*e1eccf28SAndroid Build Coastguard Workerend: 3184*e1eccf28SAndroid Build Coastguard Worker 3185*e1eccf28SAndroid Build Coastguard Workerfunction: step 3186*e1eccf28SAndroid Build Coastguard Workerversion: 9 3187*e1eccf28SAndroid Build Coastguard Workerattrib: const 3188*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3189*e1eccf28SAndroid Build Coastguard Workert: f32 3190*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3191*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 edge 3192*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3193*e1eccf28SAndroid Build Coastguard Workersummary: 0 if less than a value, 0 otherwise 3194*e1eccf28SAndroid Build Coastguard Workerdescription: 3195*e1eccf28SAndroid Build Coastguard Worker Returns 0.f if v < edge, 1.f otherwise. 3196*e1eccf28SAndroid Build Coastguard Worker 3197*e1eccf28SAndroid Build Coastguard Worker This can be useful to create conditional computations without using loops and branching 3198*e1eccf28SAndroid Build Coastguard Worker instructions. For example, instead of computing <code>(a[i] < b[i]) ? 0.f : @atan2(a[i], b[i])</code> 3199*e1eccf28SAndroid Build Coastguard Worker for the corresponding elements of a vector, you could instead use <code>step(a, b) * @atan2(a, b)</code>. 3200*e1eccf28SAndroid Build Coastguard Workerend: 3201*e1eccf28SAndroid Build Coastguard Worker 3202*e1eccf28SAndroid Build Coastguard Workerfunction: step 3203*e1eccf28SAndroid Build Coastguard Workerversion: 24 3204*e1eccf28SAndroid Build Coastguard Workerattrib: const 3205*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3206*e1eccf28SAndroid Build Coastguard Workert: f16 3207*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3208*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 edge 3209*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3210*e1eccf28SAndroid Build Coastguard Workerend: 3211*e1eccf28SAndroid Build Coastguard Worker 3212*e1eccf28SAndroid Build Coastguard Workerfunction: step 3213*e1eccf28SAndroid Build Coastguard Workerversion: 9 3214*e1eccf28SAndroid Build Coastguard Workerattrib: const 3215*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 3216*e1eccf28SAndroid Build Coastguard Workert: f32 3217*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3218*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 edge 3219*e1eccf28SAndroid Build Coastguard Workerarg: #2 v 3220*e1eccf28SAndroid Build Coastguard Workerend: 3221*e1eccf28SAndroid Build Coastguard Worker 3222*e1eccf28SAndroid Build Coastguard Workerfunction: step 3223*e1eccf28SAndroid Build Coastguard Workerversion: 24 3224*e1eccf28SAndroid Build Coastguard Workerattrib: const 3225*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 3226*e1eccf28SAndroid Build Coastguard Workert: f16 3227*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3228*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 edge 3229*e1eccf28SAndroid Build Coastguard Workerarg: #2 v 3230*e1eccf28SAndroid Build Coastguard Workerend: 3231*e1eccf28SAndroid Build Coastguard Worker 3232*e1eccf28SAndroid Build Coastguard Workerfunction: step 3233*e1eccf28SAndroid Build Coastguard Workerversion: 21 3234*e1eccf28SAndroid Build Coastguard Workerattrib: const 3235*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 3236*e1eccf28SAndroid Build Coastguard Workert: f32 3237*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3238*e1eccf28SAndroid Build Coastguard Workerarg: #2 edge 3239*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3240*e1eccf28SAndroid Build Coastguard Workerend: 3241*e1eccf28SAndroid Build Coastguard Worker 3242*e1eccf28SAndroid Build Coastguard Workerfunction: step 3243*e1eccf28SAndroid Build Coastguard Workerversion: 24 3244*e1eccf28SAndroid Build Coastguard Workerattrib: const 3245*e1eccf28SAndroid Build Coastguard Workerw: 2, 3, 4 3246*e1eccf28SAndroid Build Coastguard Workert: f16 3247*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3248*e1eccf28SAndroid Build Coastguard Workerarg: #2 edge 3249*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3250*e1eccf28SAndroid Build Coastguard Workerend: 3251*e1eccf28SAndroid Build Coastguard Worker 3252*e1eccf28SAndroid Build Coastguard Workerfunction: tan 3253*e1eccf28SAndroid Build Coastguard Workerversion: 9 3254*e1eccf28SAndroid Build Coastguard Workerattrib: const 3255*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3256*e1eccf28SAndroid Build Coastguard Workert: f32 3257*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3258*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3259*e1eccf28SAndroid Build Coastguard Workersummary: Tangent 3260*e1eccf28SAndroid Build Coastguard Workerdescription: 3261*e1eccf28SAndroid Build Coastguard Worker Returns the tangent of an angle measured in radians. 3262*e1eccf28SAndroid Build Coastguard Worker 3263*e1eccf28SAndroid Build Coastguard Worker See also @native_tan(). 3264*e1eccf28SAndroid Build Coastguard Workerend: 3265*e1eccf28SAndroid Build Coastguard Worker 3266*e1eccf28SAndroid Build Coastguard Workerfunction: tan 3267*e1eccf28SAndroid Build Coastguard Workerversion: 24 3268*e1eccf28SAndroid Build Coastguard Workerattrib: const 3269*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3270*e1eccf28SAndroid Build Coastguard Workert: f16 3271*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3272*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3273*e1eccf28SAndroid Build Coastguard Workerend: 3274*e1eccf28SAndroid Build Coastguard Worker 3275*e1eccf28SAndroid Build Coastguard Workerfunction: tanh 3276*e1eccf28SAndroid Build Coastguard Workerversion: 9 3277*e1eccf28SAndroid Build Coastguard Workerattrib: const 3278*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3279*e1eccf28SAndroid Build Coastguard Workert: f32 3280*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3281*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3282*e1eccf28SAndroid Build Coastguard Workersummary: Hyperbolic tangent 3283*e1eccf28SAndroid Build Coastguard Workerdescription: 3284*e1eccf28SAndroid Build Coastguard Worker Returns the hyperbolic tangent of a value. 3285*e1eccf28SAndroid Build Coastguard Worker 3286*e1eccf28SAndroid Build Coastguard Worker See also @native_tanh(). 3287*e1eccf28SAndroid Build Coastguard Workerend: 3288*e1eccf28SAndroid Build Coastguard Worker 3289*e1eccf28SAndroid Build Coastguard Workerfunction: tanh 3290*e1eccf28SAndroid Build Coastguard Workerversion: 24 3291*e1eccf28SAndroid Build Coastguard Workerattrib: const 3292*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3293*e1eccf28SAndroid Build Coastguard Workert: f16 3294*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3295*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3296*e1eccf28SAndroid Build Coastguard Workerend: 3297*e1eccf28SAndroid Build Coastguard Worker 3298*e1eccf28SAndroid Build Coastguard Workerfunction: tanpi 3299*e1eccf28SAndroid Build Coastguard Workerversion: 9 3300*e1eccf28SAndroid Build Coastguard Workerattrib: const 3301*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3302*e1eccf28SAndroid Build Coastguard Workert: f32 3303*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3304*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3305*e1eccf28SAndroid Build Coastguard Workersummary: Tangent of a number multiplied by pi 3306*e1eccf28SAndroid Build Coastguard Workerdescription: 3307*e1eccf28SAndroid Build Coastguard Worker Returns the tangent of (v * pi), where (v * pi) is measured in radians. 3308*e1eccf28SAndroid Build Coastguard Worker 3309*e1eccf28SAndroid Build Coastguard Worker To get the tangent of a value measured in degrees, call <code>tanpi(v / 180.f)</code>. 3310*e1eccf28SAndroid Build Coastguard Worker 3311*e1eccf28SAndroid Build Coastguard Worker See also @native_tanpi(). 3312*e1eccf28SAndroid Build Coastguard Workerend: 3313*e1eccf28SAndroid Build Coastguard Worker 3314*e1eccf28SAndroid Build Coastguard Workerfunction: tanpi 3315*e1eccf28SAndroid Build Coastguard Workerversion: 24 3316*e1eccf28SAndroid Build Coastguard Workerattrib: const 3317*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3318*e1eccf28SAndroid Build Coastguard Workert: f16 3319*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3320*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3321*e1eccf28SAndroid Build Coastguard Workerend: 3322*e1eccf28SAndroid Build Coastguard Worker 3323*e1eccf28SAndroid Build Coastguard Workerfunction: tgamma 3324*e1eccf28SAndroid Build Coastguard Workerversion: 9 3325*e1eccf28SAndroid Build Coastguard Workerattrib: const 3326*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3327*e1eccf28SAndroid Build Coastguard Workert: f32 3328*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3329*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3330*e1eccf28SAndroid Build Coastguard Workersummary: Gamma function 3331*e1eccf28SAndroid Build Coastguard Workerdescription: 3332*e1eccf28SAndroid Build Coastguard Worker Returns the gamma function of a value. 3333*e1eccf28SAndroid Build Coastguard Worker 3334*e1eccf28SAndroid Build Coastguard Worker See also @lgamma(). 3335*e1eccf28SAndroid Build Coastguard Workerend: 3336*e1eccf28SAndroid Build Coastguard Worker 3337*e1eccf28SAndroid Build Coastguard Workerfunction: tgamma 3338*e1eccf28SAndroid Build Coastguard Workerversion: 24 3339*e1eccf28SAndroid Build Coastguard Workerattrib: const 3340*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3341*e1eccf28SAndroid Build Coastguard Workert: f16 3342*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3343*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3344*e1eccf28SAndroid Build Coastguard Workerend: 3345*e1eccf28SAndroid Build Coastguard Worker 3346*e1eccf28SAndroid Build Coastguard Workerfunction: trunc 3347*e1eccf28SAndroid Build Coastguard Workerversion: 9 3348*e1eccf28SAndroid Build Coastguard Workerattrib: const 3349*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3350*e1eccf28SAndroid Build Coastguard Workert: f32 3351*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3352*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3353*e1eccf28SAndroid Build Coastguard Workersummary: Truncates a floating point 3354*e1eccf28SAndroid Build Coastguard Workerdescription: 3355*e1eccf28SAndroid Build Coastguard Worker Rounds to integral using truncation. 3356*e1eccf28SAndroid Build Coastguard Worker 3357*e1eccf28SAndroid Build Coastguard Worker For example, <code>trunc(1.7f)</code> returns 1.f and <code>trunc(-1.7f)</code> returns -1.f. 3358*e1eccf28SAndroid Build Coastguard Worker 3359*e1eccf28SAndroid Build Coastguard Worker See @rint() and @round() for other rounding options. 3360*e1eccf28SAndroid Build Coastguard Workerend: 3361*e1eccf28SAndroid Build Coastguard Worker 3362*e1eccf28SAndroid Build Coastguard Workerfunction: trunc 3363*e1eccf28SAndroid Build Coastguard Workerversion: 24 3364*e1eccf28SAndroid Build Coastguard Workerattrib: const 3365*e1eccf28SAndroid Build Coastguard Workerw: 1, 2, 3, 4 3366*e1eccf28SAndroid Build Coastguard Workert: f16 3367*e1eccf28SAndroid Build Coastguard Workerret: #2#1 3368*e1eccf28SAndroid Build Coastguard Workerarg: #2#1 v 3369*e1eccf28SAndroid Build Coastguard Workerend: 3370*e1eccf28SAndroid Build Coastguard Worker 3371*e1eccf28SAndroid Build Coastguard Workerfunction: rsClamp 3372*e1eccf28SAndroid Build Coastguard Workerattrib: const 3373*e1eccf28SAndroid Build Coastguard Workert: i8, i16, i32, u8, u16, u32 3374*e1eccf28SAndroid Build Coastguard Workerret: #1 3375*e1eccf28SAndroid Build Coastguard Workerarg: #1 amount, "Value to clamp." 3376*e1eccf28SAndroid Build Coastguard Workerarg: #1 low, "Lower bound." 3377*e1eccf28SAndroid Build Coastguard Workerarg: #1 high, "Upper bound." 3378*e1eccf28SAndroid Build Coastguard Workerdeprecated: 22, Use @clamp() instead. 3379*e1eccf28SAndroid Build Coastguard Workersummary: Restrain a value to a range 3380*e1eccf28SAndroid Build Coastguard Workerdescription: 3381*e1eccf28SAndroid Build Coastguard Worker Clamp a value between low and high. 3382*e1eccf28SAndroid Build Coastguard Workertest: none 3383*e1eccf28SAndroid Build Coastguard Workerend: 3384*e1eccf28SAndroid Build Coastguard Worker 3385*e1eccf28SAndroid Build Coastguard Workerfunction: rsFrac 3386*e1eccf28SAndroid Build Coastguard Workerattrib: const 3387*e1eccf28SAndroid Build Coastguard Workerret: float 3388*e1eccf28SAndroid Build Coastguard Workerarg: float v 3389*e1eccf28SAndroid Build Coastguard Workerdeprecated: 22, Use @fract() instead. 3390*e1eccf28SAndroid Build Coastguard Workersummary: Returns the fractional part of a float 3391*e1eccf28SAndroid Build Coastguard Workerdescription: 3392*e1eccf28SAndroid Build Coastguard Worker Returns the fractional part of a float 3393*e1eccf28SAndroid Build Coastguard Workertest: none 3394*e1eccf28SAndroid Build Coastguard Workerend: 3395*e1eccf28SAndroid Build Coastguard Worker 3396*e1eccf28SAndroid Build Coastguard Workerfunction: rsRand 3397*e1eccf28SAndroid Build Coastguard Workerret: int 3398*e1eccf28SAndroid Build Coastguard Workerarg: int max_value 3399*e1eccf28SAndroid Build Coastguard Workersummary: Pseudo-random number 3400*e1eccf28SAndroid Build Coastguard Workerdescription: 3401*e1eccf28SAndroid Build Coastguard Worker Return a random value between 0 (or min_value) and max_malue. 3402*e1eccf28SAndroid Build Coastguard Workertest: none 3403*e1eccf28SAndroid Build Coastguard Workerend: 3404*e1eccf28SAndroid Build Coastguard Worker 3405*e1eccf28SAndroid Build Coastguard Workerfunction: rsRand 3406*e1eccf28SAndroid Build Coastguard Workerret: int 3407*e1eccf28SAndroid Build Coastguard Workerarg: int min_value 3408*e1eccf28SAndroid Build Coastguard Workerarg: int max_value 3409*e1eccf28SAndroid Build Coastguard Workertest: none 3410*e1eccf28SAndroid Build Coastguard Workerend: 3411*e1eccf28SAndroid Build Coastguard Worker 3412*e1eccf28SAndroid Build Coastguard Workerfunction: rsRand 3413*e1eccf28SAndroid Build Coastguard Workerret: float 3414*e1eccf28SAndroid Build Coastguard Workerarg: float max_value 3415*e1eccf28SAndroid Build Coastguard Workertest: none 3416*e1eccf28SAndroid Build Coastguard Workerend: 3417*e1eccf28SAndroid Build Coastguard Worker 3418*e1eccf28SAndroid Build Coastguard Workerfunction: rsRand 3419*e1eccf28SAndroid Build Coastguard Workerret: float 3420*e1eccf28SAndroid Build Coastguard Workerarg: float min_value 3421*e1eccf28SAndroid Build Coastguard Workerarg: float max_value 3422*e1eccf28SAndroid Build Coastguard Workertest: none 3423*e1eccf28SAndroid Build Coastguard Workerend: 3424