Lines Matching +full:left +full:- +full:most

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Linux/PA-RISC Project (http://www.parisc-linux.org/)
5 * Floating-point emulation code
6 * Copyright (C) 2001 Hewlett-Packard (Paul Bame) <bame@debian.org>
15 * Single Fixed-point to Single Floating-point
16 * Single Fixed-point to Double Floating-point
17 * Double Fixed-point to Single Floating-point
18 * Double Fixed-point to Double Floating-point
41 * Convert single fixed-point to single floating-point format
76 * Check word for most significant bit set. Returns in sgl_to_sgl_fcnvxf()
78 * between -1 and 30. in sgl_to_sgl_fcnvxf()
81 /* left justify source, with msb at bit position 1 */ in sgl_to_sgl_fcnvxf()
84 Sgl_set_mantissa(result, src >> (SGL_EXP_LENGTH-1)); in sgl_to_sgl_fcnvxf()
85 Sgl_set_exponent(result, 30+SGL_BIAS - dst_exponent); in sgl_to_sgl_fcnvxf()
112 * Single Fixed-point to Double Floating-point
147 * Check word for most significant bit set. Returns in sgl_to_dbl_fcnvxf()
149 * between -1 and 30. in sgl_to_dbl_fcnvxf()
152 /* left justify source, with msb at bit position 1 */ in sgl_to_dbl_fcnvxf()
155 Dbl_set_mantissap1(resultp1, src >> DBL_EXP_LENGTH - 1); in sgl_to_dbl_fcnvxf()
156 Dbl_set_mantissap2(resultp2, src << (33-DBL_EXP_LENGTH)); in sgl_to_dbl_fcnvxf()
157 Dbl_set_exponent(resultp1, (30+DBL_BIAS) - dst_exponent); in sgl_to_dbl_fcnvxf()
163 * Double Fixed-point to Single Floating-point
199 * Check word for most significant bit set. Returns in dbl_to_sgl_fcnvxf()
201 * between -1 and 30. in dbl_to_sgl_fcnvxf()
204 /* left justify source, with msb at bit position 1 */ in dbl_to_sgl_fcnvxf()
221 * Check word for most significant bit set. Returns in dbl_to_sgl_fcnvxf()
223 * between -1 and 30. in dbl_to_sgl_fcnvxf()
227 /* left justify source, with msb at bit position 1 */ in dbl_to_sgl_fcnvxf()
229 Variable_shift_double(srcp1,srcp2,(32-dst_exponent), in dbl_to_sgl_fcnvxf()
235 * If dst_exponent = -1, src = - 2**63 so we won't need to in dbl_to_sgl_fcnvxf()
238 else srcp1 >>= -(dst_exponent); in dbl_to_sgl_fcnvxf()
240 Sgl_set_mantissa(result, srcp1 >> SGL_EXP_LENGTH - 1); in dbl_to_sgl_fcnvxf()
241 Sgl_set_exponent(result, (62+SGL_BIAS) - dst_exponent); in dbl_to_sgl_fcnvxf()
268 * Double Fixed-point to Double Floating-point
304 * Check word for most significant bit set. Returns in dbl_to_dbl_fcnvxf()
306 * between -1 and 30. in dbl_to_dbl_fcnvxf()
309 /* left justify source, with msb at bit position 1 */ in dbl_to_dbl_fcnvxf()
326 * Check word for most significant bit set. Returns in dbl_to_dbl_fcnvxf()
328 * between -1 and 30. in dbl_to_dbl_fcnvxf()
331 /* left justify source, with msb at bit position 1 */ in dbl_to_dbl_fcnvxf()
333 Variable_shift_double(srcp1,srcp2,(32-dst_exponent), in dbl_to_dbl_fcnvxf()
339 * If dst_exponent = -1, src = - 2**63 so we won't need to in dbl_to_dbl_fcnvxf()
342 else srcp1 >>= -(dst_exponent); in dbl_to_dbl_fcnvxf()
344 Dbl_set_mantissap1(resultp1, srcp1 >> (DBL_EXP_LENGTH-1)); in dbl_to_dbl_fcnvxf()
345 Shiftdouble(srcp1,srcp2,DBL_EXP_LENGTH-1,resultp2); in dbl_to_dbl_fcnvxf()
346 Dbl_set_exponent(resultp1, (62+DBL_BIAS) - dst_exponent); in dbl_to_dbl_fcnvxf()