Lines Matching +full:input +full:- +full:threshold
21 | round --- round result according to precision/mode
23 | a0 points to the input operand in the internal extended format
36 | a0 is preserved and the g-r-s bits in d0 are cleared.
37 | The result is not typed - the tag field is invalid. The
41 | inexact (i.e. if any of the g-r-s bits were set).
51 | ;the appropriate g-r-s bits.
117 asll #1,%d0 |shift g-bit to c-bit
124 | ext_grs --- extract guard, round and sticky bits
126 | Input: d1 = PREC:ROUND
144 moveml %d2/%d3,-(%a7) |make some temp registers
148 bfextu LOCAL_HI(%a0){#24:#2},%d3 |sgl prec. g-r are 2 bits right
150 lsll %d2,%d3 |shift g-r bits to MSB of d3
151 movel LOCAL_HI(%a0),%d2 |get word 2 for s-bit test
153 bnes st_stky |bits to the right of g-r
160 bfextu LOCAL_LO(%a0){#21:#2},%d3 |dbl-prec. g-r are 2 bits right
162 lsll %d2,%d3 |shift g-r bits to the MSB of d3
163 movel LOCAL_LO(%a0),%d2 |get lower mantissa for s-bit test
164 andil #0x000001ff,%d2 |s bit is the or-ing of all
165 bnes st_stky |other bits to the right of g-r
179 .set ad_1_sgl,0x00000100 | constant to add 1 to l-bit in sgl prec
180 .set ad_1_dbl,0x00000800 | constant to add 1 to l-bit in dbl prec
183 |Jump table for adding 1 to the l-bit indexed by rnd prec
196 roxrw LOCAL_HI(%a0) |shift v-bit back in
197 roxrw LOCAL_HI+2(%a0) |shift v-bit back in
202 andiw #0xfe00,LOCAL_HI+2(%a0) |clear the l-bit
212 addql #1,LOCAL_LO(%a0) |add 1 to l-bit
216 roxrw LOCAL_HI(%a0) |mant is 0 so restore v-bit
217 roxrw LOCAL_HI+2(%a0) |mant is 0 so restore v-bit
235 roxrw LOCAL_HI(%a0) |mant is 0 so restore v-bit
236 roxrw LOCAL_HI+2(%a0) |mant is 0 so restore v-bit
243 andiw #0xf000,LOCAL_LO+2(%a0) |clear the l-bit
280 | would go less than 0. In that case the number becomes a denorm - the
298 |input:
311 moveml %d2/%d3/%d5/%d6,-(%a7)
358 movel %d7,-(%a7)
362 movel %d6,-(%a7)
398 | denorm --- denormalize an intermediate result
402 | Input:
414 | is then loaded with the denormalized exponent threshold for the
420 btstb #6,LOCAL_EX(%a0) |check for exponents between $7fff-$4000
428 clrl %d1 |load d1 with ext threshold
440 movew #dbl_thresh,%d1 |put copy of threshold in d1
442 subw LOCAL_EX(%a0),%d0 |diff = threshold - exp
453 movew #sgl_thresh,%d1 |put copy of threshold in d1
455 subw LOCAL_EX(%a0),%d0 |diff = threshold - exp
475 movew %d1,LOCAL_EX(%a0) |load exp with threshold
485 | dnrm_lp --- normalize exponent/mantissa to specified threshold
487 | Input:
490 | d1{15:0} denormalization threshold
503 movel %d2,-(%sp) |save d2 for temp use
514 movel %d1,%d0 |copy the denorm threshold
515 subw LOCAL_EX(%a0),%d1 |d1 = threshold - uns exponent
533 movel %d2,-(%sp)
534 movew %d0,LOCAL_EX(%a0) |exponent = denorm threshold
536 subw %d1,%d0 |d0 = 32 - d1
562 movel %d2,-(%sp)
563 movew %d0,LOCAL_EX(%a0) |unsigned exponent = threshold
566 subw %d1,%d0 |d0 = 32 - d1
594 | d1 >= 64 Force the exponent to be the denorm threshold with the
610 | return a zero with the given threshold.