Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1906 serge 1
/*
2
 * Written by J.T. Conklin .
3
 * Public domain.
4
 * Removed header file dependency for use in libmingwex.a by
5
 *   Danny Smith 
6
 */
7
 
8
	.file	"log1pf.S"
9
	.text
10
	.align 4
11
	/* The fyl2xp1 can only be used for values in
12
	   -1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
13
	   0.29 is a safe value.
14
	 */
15
limit:	.float 0.29
16
one:	.float 1.0
17
/*
18
 * Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
19
 * otherwise fyl2x with the needed extra computation.
20
 */
21
.globl _log1pf;
22
	.def	_log1pf;	.scl	2;	.type	32;	.endef
23
_log1pf:
24
	fldln2
25
	flds	4(%esp)
26
	fxam
27
	fnstsw
28
	fld	%st
29
	sahf
30
	jc	3f		/* in case x is NaN or ħInf */
31
 
32
4:	fabs
33
	fcomps	limit
34
	fnstsw
35
	sahf
36
	jc	2f
37
	fadds	one
38
	fyl2x
39
	ret
40
 
41
2:	fyl2xp1
42
	ret
43
 
44
3:	jp	4b		/* in case x is ħInf */
45
	fstp	%st(1)
46
	fstp	%st(1)
47
	ret