File:
[DVB] /
dietlibc /
i386 /
ipow.S
Revision
1.1:
download - view:
text,
annotated -
select for diffs
Mon Jul 30 13:45:17 2001 UTC (22 years, 10 months ago) by
fefe
Branches:
MAIN
CVS tags:
finnland_test_200301,
branch_rc14_fieldtest_finnland,
branch_rc13_fieldtest_finnland,
branch_rc12_fieldtest_finnland,
branch_rc10_fieldtest_finnland,
RELEASE_finnland_200301_1,
RC12_FIELDTEST_FINNLAND,
RC10_FIELDTEST_FINNLAND,
HEAD
more math
#
# This is not standard, but often you only need such this function
# which is much shorter than the generic pow() function.
#
# double ipow ( double mant, int expo );
#
.text
.global ipow
.type ipow,@function
ipow: fld1
movl 12(%esp),%ecx
fldl 4(%esp)
and %ecx,%ecx
jns .Lstart
negl %ecx
fdivr %st(1),%st(0)
jmp .Lstart
.Lnext: fmul %st(0),%st(0)
.Lstart:shrl %ecx
jnc .Lnomul
fmul %st(0),%st(1)
.Lnomul:jnz .Lnext
fcomp
ret
LinuxTV legacy CVS <linuxtv.org/cvs>