s_ilogbl.s

来自「Glibc 2.3.2源代码(解压后有100多M)」· S 代码 · 共 38 行

S
38
字号
/* * Written by J.T. Conklin <jtc@netbsd.org>. * Changes for long double by Ulrich Drepper <drepper@cygnus.com> * Public domain. */#include <machine/asm.h>RCSID("$NetBSD: $")ENTRY(__ilogbl)	fldt	4(%esp)/* I added the following ugly construct because ilogb(+-Inf) is   required to return INT_MAX in ISO C99.   -- jakub@redhat.com.  */	fxam			/* Is NaN or +-Inf?  */	fstsw   %ax	movb    $0x45, %dh	andb    %ah, %dh	cmpb    $0x05, %dh	je      1f		/* Is +-Inf, jump.  */	fxtract	pushl	%eax	fstp	%st	fistpl	(%esp)	fwait	popl	%eax	ret1:	fstp	%st	movl	$0x7fffffff, %eax	retEND (__ilogbl)weak_alias (__ilogbl, ilogbl)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?