Lines Matching +full:- +full:a

1 /* --------------------------------------------------------------  */
13 /* - Redistributions of source code must retain the above copyright*/
16 /* - Redistributions in binary form must reproduce the above */
21 /* - Neither the name of IBM Corporation nor the names of its */
29 /* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
39 /* -------------------------------------------------------------- */
56 static __inline vector float _recipf4(vector float a) in _recipf4() argument
58 /* This function has been designed to provide a in _recipf4()
61 * single precision input <a>. This includes: in _recipf4()
66 * mode of the processor - truncated toward zero. in _recipf4()
71 * the input <a> has a zero exponent. A reciprocal in _recipf4()
74 * 6) If a non-compliant IEEE result is produced, the in _recipf4()
75 * a DIFF exception is generated. in _recipf4()
84 /* If a has a zero exponent, then set the divide by zero in _recipf4()
87 (void)si_frest((qword)(a)); in _recipf4()
92 mant_a = spu_sel(a, one, exp_mask); in _recipf4()
95 * followed by one iteration of the Newton-Raphson. in _recipf4()
106 x1 = spu_sel(x0, x1, spu_cmpgt((vector signed int)(err), -1)); in _recipf4()
111 * values by computing a multiplier (mult) that will force the in _recipf4()
115 * inoput <a> is a denorm or zero. in _recipf4()
117 exp_a = spu_and((vector unsigned int)a, exp_mask); in _recipf4()
121 * either the dividend <a> is a denorm/zero, or the computed exponent is in _recipf4()
122 * less than or equal to a biased 0), force the multiplier to 0.0. in _recipf4()
130 mult = spu_or(mult, (vector float)spu_rlmask(spu_cmpeq(exp_a, 0), -1)); in _recipf4()