1
/* -*- Mode: Asm -*- */
3
ldexp.S is part of FPlib V 0.3.0 ported to avr-as
4
for copyright and details see readme.fplib
6
*----------------------------------------------------------------------------------------
10
* double y = ldexp( 3.45, 2 ) = 2^2 * 3.45 = 13.8
16
TEXT_SEG(fplib, ldexp)
21
RCALL _U(__fp_split1) ; clears rAE
23
BREQ _ldexp_01 ; 2^x*0 = 0
25
BREQ _ldexp_10 ; negative
28
; overflow or underflow
30
BRPL _ldexp_NaN ; overflow
34
RJMP _U(__fp_nanERANGE) ; overflow
42
RJMP _U(__fp_merge) ; rT0 must not be cleared : rAE=0 no rounding anyway