⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mathhardalib.s

📁 vxworks source code, used for develop vxworks system.
💻 S
📖 第 1 页 / 共 5 页
字号:
1:	sub.s	$f0, $f0, $f10	j	ratanhf4:	lw	t0, 8(sp)	li.s	$f0, one	bltz	t0, 1f	j	ra1:	neg.s	$f0	j	ra	.end tanhf/******************************************************************************** powf - software floating point power function** This routine takes two input single-precision floating point* parameters, <sglX> and <sglY>, and returns the single-precision* value of <sglX> to the <sglY> power.*** float pow (sglX, sglY)*     float    sglX;*     float    sglY;** RETURNS: single-precision value of <dblX> to <dblY> power.*/#define ONE_PT_OWE      1.0        .globl  powf        .ent    powfpowf:        SETFRAME(powf,1)        subu    sp, FRAMESZ(powf)	/* reserve some space */        SW      ra, FRAMERA(powf)(sp)   /* store the return addr */        swc1    fp12, FRAMEA0(powf)(sp) /* store passed param sglX */	mfc1	t0, fp14		/* Y = 0.0 ? */	beq	t0, zero, 0f 	li.s	fp2, one		/* Y = 1.0 ? */	c.eq.s	fp2, fp14	nop	bc1t	2f	nop        mov.s   fp12, fp14              /* load parameter for isNaN */        jal     isNaNSingle             /* is Y not a number */        swc1    fp14, FRAMEA1(powf)(sp) /* store passed param sglY */        beq     v0, zero, 1f         	/* if not NaN branch */        mov.s   fp0, fp14               /* load return value */        b       donePowf                /* else we are done */0:	/* powf (?, 0.0) = 1.0 */	li.s	fp0, one	b	donePowf1:	lwc1    fp12, FRAMEA0(powf)(sp) /* reload passed params */	jal     isNaNSingle             /* is X not a number */	lwc1	fp14, FRAMEA1(powf)(sp)	lwc1	fp12, FRAMEA0(powf)(sp)	/* reload passed params */	beq	v0, zero, isANf		/* if not NaN branch */2:	mov.s	fp0, fp12	b	donePowfisANf:        li.s    fp2, ONE_PT_OWE        	/* load 1.0 */	abs.s	fp4, fp12        c.eq.s  fp4, fp2                /* compare dlbX with 1.0 */        bc1f    notOnef                 /* if not 1.0 */	/* test if Y is +-Inf */	mfc1	t0, fp14	sll	t1, t0, 1	srl	t0, t1, 1	li	t1, INF_HI_SHORT_SINGLE	sll	t2, t1, 16	beq	t0, t2, valueNanf	/* powf (1.0, +-Inf) = Nan */	/* powf (1.0, ?) = 1.0 */	mfc1    t0, fp12	bltz	t0, notOnef	mov.s   fp0, fp2                /* load return value */        b       donePowf                /* else we are done */notOnef:	abs.s	fp2, fp12		/* |x| */        mfc1    t0, fp2        bne     t0, zero, notZerof      /* if |X| == 0 ? */        mfc1    t0, fp14                /* load sign bit of dblY into t0 */        sra     t2, t0, 31              /* dblY sign bit to t2 */        bne     t2, zero, valueInff     /* dblY < 0? */        mov.s   fp0, fp2		/* return +0.0 */        b       donePowfnotZerof:	mfc1    t0, fp12        sra     t3, t0, 31              /* get sign bit of X */        beq     t3, zero, positivef     /* if X > 0 */	/* X is negatif */	/* test if Y is +-Inf */	mfc1	t0, fp14        sra     t4, t0, 31              /* get sign bit of Y */	sll	t1, t0, 1	srl	t0, t1, 1	li	t1, INF_HI_SHORT_SINGLE	sll	t2, t1, 16	bne	t0, t2, 6f	li.s	fp2, -1.0 	c.lt.s	fp12, fp2	nop	bc1t	4f	c.eq.s	fp12, fp2	nop	bc1t	6f	/* x < -1.0 */	beq	t4, zero, 5f	b	valueInff4:	/* x > -1.0 */	beq     t4, zero, valueInff5:	li.s	fp0, 0.0 	b       donePowf                /* else we are done */6:	abs.s   fp12, fp12              /* get absolute value */positivef:        SW      t3, FRAMER0(powf)(sp)   /* save dblX sign bit */        swc1    fp14, FRAMEA0(powf)(sp) /* save dblX to stack */        jal     logf                    /* take log of dlbX */        lwc1    fp14, FRAMEA0(powf)(sp) /* reload dlbX from stack */        mul.s   fp12, fp14, fp0         /* dblY * log result */        jal     expf                    /* exp (dblY * log result) */        LW      t3, FRAMER0(powf)(sp)   /* restore dblX sign bit */        beq     t3, 0, donePowf         /* if dblX > 0 */        lwc1    fp14, FRAMEA1(powf)(sp)	/* reload dblY */        cvt.w.s fp2, fp14               /* convert to integer */        mfc1    v0, fp2                 /* integer part into v0 */        cvt.s.w fp4, fp2                /* convert to double */        c.eq.s  fp4, fp14               /* dblY == int(dblY)? */        bc1f    valueNanf               /* if no, return NaN */        and     v0, t3, v0              /* odd or even */        andi    v0, v0, 1               /* dblY even */        beq     v0, zero, donePowf        neg.s   fp0, fp0                /* negative value */        b       donePowfvalueInff:        li      v0, INF_HI_SHORT_SINGLE /* set Inf return value */        sll     v0, v0, 16        mtc1    v0, fp0        b       donePowfvalueNanf:        li      v0, 0x7fff              /* set Nan return value */        sll     v0, v0, 16        mtc1    v0, fp0donePowf:        LW      ra, FRAMERA(powf)(sp)   /* restore ra */        addiu   sp, FRAMESZ(powf)       /* deallocate stack */        j       ra                      /* return to caller */        .end    powf/******************************************************************************** isNaNSingle - ** This routine takes an input single-precision floating point* parameter, <sgl>, and returns TRUE if <sgl> contains an IEEE not* a number value.*** BOOL isNaNSingle (sgl)*     float	sgl;** RETURNS: TRUE if <sgl> is NaN, else FALSE*/	.ent	isNaNSingleisNaNSingle:	mfc1	v0, fp12	srl	v0, v0, 16 	li	t0, INF_HI_SHORT_SINGLE	andi	v0, v0, 0x7fff	slt	v0, t0, v0	j	ra	.end	isNaNSingle#endif	/* INCLUDE_SINGLE_PRECISION *//********************************************************************************* c_abs - ** NOMANUAL* This entrypoint provided for FCOM for CABS (complex absolute value),* because FCOM has a hard time calling FHYPOT directly.  Also used by* FCOM when user writes INTRINSIC CABS.  The latter must use pass by* reference, of course. */	.globl c_abs_	.ent   c_abs_c_abs_:	.frame	sp, 0, ra	l.s	$f12, 0(a0)	l.s	$f14, 4(a0)	/* just fall through */	.end c_abs_/********************************************************************************* swapINX - **/	.globl swapINX	.ent   swapINXswapINX:	.frame	sp, 0, ra	cfc1	t0, $31	sll	a0, 2	and	v0, t0, 1<<2	xor	t0, v0	or	t0, a0	ctc1	t0, $31	srl	v0, 2	j	ra	.end swapINX/********************************************************************************* swapRM - **/	.globl swapRM	.ent   swapRMswapRM:	.frame	sp, 0, ra	cfc1	t0, $31	and	v0, t0, 3	xor	t0, v0	or	t0, a0	ctc1	t0, $31	j	ra	.end swapRM#ifdef	INCLUDE_DOUBLE_PRECISION/********************************************************************************* EXP_DAT - data for table driven approach to exp, expm1 ** NOMANUAL*/.rdata	.align	3EXP_DAT:.word	D(0x3FF00000,0x00000000), D(0x00000000,0x00000000)	.word	D(0x3FF059B0,0xD3158540), D(0x3D0A1D73,0xE2A475B4)	.word	D(0x3FF0B558,0x6CF98900), D(0x3CEEC531,0x7256E308)	.word	D(0x3FF11301,0xD0125B40), D(0x3CF0A4EB,0xBF1AED93)	.word	D(0x3FF172B8,0x3C7D5140), D(0x3D0D6E6F,0xBE462876)	.word	D(0x3FF1D487,0x3168B980), D(0x3D053C02,0xDC0144C8)	.word	D(0x3FF2387A,0x6E756200), D(0x3D0C3360,0xFD6D8E0B)	.word	D(0x3FF29E9D,0xF51FDEC0), D(0x3D009612,0xE8AFAD12)	.word	D(0x3FF306FE,0x0A31B700), D(0x3CF52DE8,0xD5A46306)	.word	D(0x3FF371A7,0x373AA9C0), D(0x3CE54E28,0xAA05E8A9)	.word	D(0x3FF3DEA6,0x4C123400), D(0x3D011ADA,0x0911F09F)	.word	D(0x3FF44E08,0x60618900), D(0x3D068189,0xB7A04EF8)	.word	D(0x3FF4BFDA,0xD5362A00), D(0x3D038EA1,0xCBD7F621)	.word	D(0x3FF5342B,0x569D4F80), D(0x3CBDF0A8,0x3C49D86A)	.word	D(0x3FF5AB07,0xDD485400), D(0x3D04AC64,0x980A8C8F)	.word	D(0x3FF6247E,0xB03A5580), D(0x3CD2C7C3,0xE81BF4B7)	.word	D(0x3FF6A09E,0x667F3BC0), D(0x3CE92116,0x5F626CDD)	.word	D(0x3FF71F75,0xE8EC5F40), D(0x3D09EE91,0xB8797785)	.word	D(0x3FF7A114,0x73EB0180), D(0x3CDB5F54,0x408FDB37)	.word	D(0x3FF82589,0x994CCE00), D(0x3CF28ACF,0x88AFAB35)	.word	D(0x3FF8ACE5,0x422AA0C0), D(0x3CFB5BA7,0xC55A192D)	.word	D(0x3FF93737,0xB0CDC5C0), D(0x3D027A28,0x0E1F92A0)	.word	D(0x3FF9C491,0x82A3F080), D(0x3CF01C7C,0x46B071F3)	.word	D(0x3FFA5503,0xB23E2540), D(0x3CFC8B42,0x4491CAF8)	.word	D(0x3FFAE89F,0x995AD380), D(0x3D06AF43,0x9A68BB99)	.word	D(0x3FFB7F76,0xF2FB5E40), D(0x3CDBAA9E,0xC206AD4F)	.word	D(0x3FFC199B,0xDD855280), D(0x3CFC2220,0xCB12A092)	.word	D(0x3FFCB720,0xDCEF9040), D(0x3D048A81,0xE5E8F4A5)	.word	D(0x3FFD5818,0xDCFBA480), D(0x3CDC9768,0x16BAD9B8)	.word	D(0x3FFDFC97,0x337B9B40), D(0x3CFEB968,0xCAC39ED3)	.word	D(0x3FFEA4AF,0xA2A490C0), D(0x3CF9858F,0x73A18F5E)	.word	D(0x3FFF5076,0x5B6E4540), D(0x3C99D3E1,0x2DD8A18B)/********************************************************************************* LOGC_TBL - data for table driven approach to log** NOMANUAL*/	.align	3LOGC_TBL:.word	D(0x00000000,0x00000000), D(0x00000000,0x00000000)	.word	D(0x3F7FE02A,0x6B200000), D(0xBD6F30EE,0x07912DF9)	.word	D(0x3F8FC0A8,0xB1000000), D(0xBD5FE0E1,0x83092C59)	.word	D(0x3F97B91B,0x07D80000), D(0xBD62772A,0xB6C0559C)	.word	D(0x3F9F829B,0x0E780000), D(0x3D298026,0x7C7E09E4)	.word	D(0x3FA39E87,0xBA000000), D(0xBD642A05,0x6FEA4DFD)	.word	D(0x3FA77458,0xF6340000), D(0xBD62303B,0x9CB0D5E1)	.word	D(0x3FAB42DD,0x71180000), D(0x3D671BEC,0x28D14C7E)	.word	D(0x3FAF0A30,0xC0100000), D(0x3D662A66,0x17CC9717)	.word	D(0x3FB16536,0xEEA40000), D(0xBD60A3E2,0xF3B47D18)	.word	D(0x3FB341D7,0x961C0000), D(0xBD4717B6,0xB33E44F8)	.word	D(0x3FB51B07,0x3F060000), D(0x3D383F69,0x278E686A)	.word	D(0x3FB6F0D2,0x8AE60000), D(0xBD62968C,0x836CC8C2)	.word	D(0x3FB8C345,0xD6320000), D(0xBD5937C2,0x94D2F567)	.word	D(0x3FBA926D,0x3A4A0000), D(0x3D6AAC6C,0xA17A4554)	.word	D(0x3FBC5E54,0x8F5C0000), D(0xBD4C5E75,0x14F4083F)	.word	D(0x3FBE2707,0x6E2A0000), D(0x3D6E5CBD,0x3D50FFFC)	.word	D(0x3FBFEC91,0x31DC0000), D(0xBD354555,0xD1AE6607)	.word	D(0x3FC0D77E,0x7CD10000), D(0xBD6C69A6,0x5A23A170)	.word	D(0x3FC1B72A,0xD52F0000), D(0x3D69E80A,0x41811A39)	.word	D(0x3FC29552,0xF8200000), D(0xBD35B967,0xF4471DFC)	.word	D(0x3FC371FC,0x201F0000), D(0xBD6C22F1,0x0C9A4EA8)	.word	D(0x3FC44D2B,0x6CCB0000), D(0x3D6F4799,0xF4F6543E)	.word	D(0x3FC526E5,0xE3A20000), D(0xBD62F217,0x46FF8A47)	.word	D(0x3FC5FF30,0x70A80000), D(0xBD6B0B0D,0xE3077D7E)	.word	D(0x3FC6D60F,0xE71A0000), D(0xBD56F1B9,0x55C4D1DA)	.word	D(0x3FC7AB89,0x02110000), D(0xBD537B72,0x0E4A694B)	.word	D(0x3FC87FA0,0x65210000), D(0xBD5B77B7,0xEFFB7F41)	.word	D(0x3FC9525A,0x9CF40000), D(0x3D65AD1D,0x904C1D4E)	.word	D(0x3FCA23BC,0x1FE30000), D(0xBD62A739,0xB23B93E1)	.word	D(0x3FCAF3C9,0x4E810000), D(0xBD600349,0xCC67F9B2)	.word	D(0x3FCBC286,0x742E0000), D(0xBD6CCA75,0x818C5DBC)	.word	D(0x3FCC8FF7,0xC79B0000), D(0xBD697794,0xF689F843)	.word	D(0x3FCD5C21,0x6B500000), D(0xBD611BA9,0x1BBCA682)	.word	D(0x3FCE2707,0x6E2B0000), D(0xBD3A342C,0x2AF0003C)	.word	D(0x3FCEF0AD,0xCBDC0000), D(0x3D664D94,0x8637950E)	.word	D(0x3FCFB918,0x6D5E0000), D(0x3D5F1546,0xAAA3361C)	.word	D(0x3FD04025,0x94B50000), D(0xBD67DF92,0x8EC217A5)	.word	D(0x3FD0A324,0xE2738000), D(0x3D50E35F,0x73F7A018)	.word	D(0x3FD1058B,0xF9AE8000), D(0xBD6A9573,0xB02FAA5A)	.word	D(0x3FD1675C,0xABAB8000), D(0x3D630701,0xCE63EAB9)	.word	D(0x3FD1C898,0xC1698000), D(0x3D59FAFB,0xC68E7540)	.word	D(0x3FD22941,0xFBCF8000), D(0xBD3A6976,0xF5EB0963)	.word	D(0x3FD2895A,0x13DE8000), D(0x3D3A8D7A,0xD24C13F0)	.word	D(0x3FD2E8E2,0xBAE10000), D(0x3D5D309C,0x2CC91A85)	.word	D(0x3FD347DD,0x9A988000), D(0xBD25594D,0xD4C58092)	.word	D(0x3FD3A64C,0x55698000), D(0xBD6D0B1C,0x68651946)	.word	D(0x3FD40430,0x86868000), D(0x3D63F1DE,0x86093EFA)	.word	D(0x3FD4618B,0xC21C8000), D(0xBD609EC1,0x7A426426)	.word	D(0x3FD4BE5F,0x95778000), D(0xBD3D7C92,0xCD9AD824)	.word	D(0x3FD51AAD,0x872E0000), D(0xBD3F4BD8,0xDB0A7CC1)	.word	D(0x3FD57677,0x17458000), D(0xBD62C9D5,0xB2A49AF9)	.word	D(0x3FD5D1BD,0xBF580000), D(0x3D4394A1,0x1B1C1EE4)	.word	D(0x3FD62C82,0xF2BA0000), D(0xBD6C3568,0x48506EAD)	.word	D(0x3FD686C8,0x1E9B0000), D(0x3D54AEC4,0x42BE1015)	.word	D(0x3FD6E08E,0xAA2B8000), D(0x3D60F1C6,0x09C98C6C)	.word	D(0x3FD739D7,0xF6BC0000), D(0xBD67FCB1,0x8ED9D603)	.word	D(0x3FD792A5,0x5FDD8000), D(0xBD6C2EC1,0xF512DC03)	.word	D(0x3FD7EAF8,0x3B828000), D(0x3D67E1B2,0x59D2F3DA)	.word	D(0x3FD842D1,0xDA1E8000), D(0x3D462E92,0x7628CBC2)	.word	D(0x3FD89A33,0x86C18000), D(0xBD6ED2A5,0x2C73BF78)	.word	D(0x3FD8F11E,0x87368000), D(0xBD5D3881,0xE8962A96)	.word	D(0x3FD94794,0x1C210000), D(0x3D56FABA,0x4CDD147D)	.word	D(0x3FD99D95,0x81180000), D(0xBD5F7534,0x56D113B8)	.word	D(0x3FD9F323,0xECBF8000), D(0x3D584BF2,0xB68D766F)	.word	D(0x3FDA4840,0x90E58000), D(0x3D6D8515,0xFE535B87)	.word	D(0x3FDA9CEC,0x9A9A0000), D(0x3D40931A,0x909FEA5E)	.word	D(0x3FDAF129,0x32478000), D(0xBD3E53BB,0x31EED7A9)	.word	D(0x3FDB44F7,0x7BCC8000), D(0x3D4EC519,0x7DDB55D3)	.word	D(0x3FDB9858,0x96930000), D(0x3D50FB59,0x8FB14F89)	.word	D(0x3FDBEB4D,0x9DA70000), D(0x3D5B7BF7,0x861D37AC)	.word	D(0x3FDC3DD7,0xA7CD8000), D(0x3D66A6B9,0xD9E0A5BD)	.word	D(0x3FDC8FF7,0xC79A8000), D(0x3D5A21AC,0x25D81EF3)	.word	D(0x3FDCE1AF,0x0B860000), D(0xBD482909,0x05A86AA6)	.word	D(0x3FDD32FE,0x7E010000), D(0xBD542A9E,0x21373414)	.word	D(0x3FDD83E7,0x258A0000), D(0x3D679F28,0x28ADD176)	.word	D(0x3FDDD46A,0x04C20000), D(0xBD6DAFA0,0x8CECADB1)	.word	D(0x3FDE2488,0x1A7C8000), D(0xBD53D9E3,0x4270BA6B)	.word	D(0x3FDE7442,0x61D68000), D(0x3D3E1F8D,0xF68DBCF3)	.word	D(0x3FDEC399,0xD2468000), D(0x3D49802E,0xB9DCA7E7)	.word	D(0x3FDF128F,0x5FAF0000), D(0x3D3BB2CD,0x720EC44C)	.word	D(0x3FDF6123,0xFA700000), D(0x3D645630,0xA2B61E5B)	.word	D(0x3FDFAF58,0x8F790000), D(0xBD49C24C,0xA098362B)	.word	D(0x3FDFFD2E,0x08580000), D(0xBD46CF54,0xD05F9367)	.word	D(0x3FE02552,0xA5A5C000), D(0x3D60FEC6,0x9C695D7F)	.word	D(0x3FE04BDF,0x9DA94000), D(0xBD692D9A,0x033EFF75)	.word	D(0x3FE0723E,0x5C1CC000), D(0x3D6F404E,0x57963891)	.word	D(0x3FE0986F,0x4F574000), D(0xBD55BE8D,0xC04AD601)	.word	D(0x3FE0BE72,0xE4254000), D(0xBD657D49,0x676844CC)	.word	D(0x3FE0E449,0x85D1C000), D(0x3D5917ED,0xD5CBBD2D)	.word	D(0x3FE109F3,0x9E2D4000), D(0x3D592DFB,0xC7D93617)	.word	D(0x3FE12F71,0x95940000), D(0xBD6043AC,0xFEDCE638)	.word	D(0x3FE154C3,0xD2F4C000), D(0x3D65E9A9,0x8F33A396)	.word	D(0x3FE179EA,0xBBD88000), D(0x3D69A0BF,0xC60E6FA0)	.word	D(0x3FE19EE6,0xB467C000), D(0x3D52DD98,0xB97BAEF0)	.word	D(0x3FE1C3B8,0x1F714000), D(0xBD3EDA1B,0x58389902)	.word	D(0x3FE1E85F,0x5E704000), D(0x3D1A07BD,0x8B34BE7C)	.word	D(0x3FE20CDC,0xD192C000), D(0xBD64926C,0xAFC2F08A)	.word	D(0x3FE23130,0xD7BEC000), D(0xBD17AFA4,0x392F1BA7)	.word	D(0x3FE2555B,0xCE990000), D(0xBD506987,0xF78A4A5E)	.word	D(0x3FE2795E,0x1289C000), D(0xBD5DCA29,0x0F81848D)	.word	D(0x3FE29D37,0xFEC2C000), D(0xBD5EEA6F,0x465268B4)	.word	D(0x3FE2C0E9,0xED448000), D(0x3D5D1772,0xF5386374)	.word	D(0x3FE2E474,0x36E40000), D(0x3D334202,0xA10C3491)	.word	D(0x3FE307D7,0x334F0000), D(0x3D60BE1F,0xB590A1F5)	.word	D(0x3FE32B13,0x39120000), D(0x3D6D7132,0x0556B67B)	.word	D(0x3FE34E28,0x9D9D0000), D(0xBD6E2CE9,0x146D277A)	.word	D(0x3FE37117,0xB5474000), D(0x3D4ED717,0x74092113)	.word	D(0x3FE393E0,0xD3564000), D(0xBD65E656,0x3BBD9FC9)	.word	D(0x3FE3B684,0x4A000000), D(0xBD3EEA83,0x8909F3D3)	.word	D(0x3FE3D902,0x6A714000), D(0x3D66FAA4,0x04263D0B)	.word	D(0x3FE3FB5B,0x84D18000), D(0xBD60BDA4,0xB162AFA3)	.word	D(0x3FE41D8F,0xE8468000), D(0xBD5AA337,0x36867A17)	.word	D(0x3FE43F9F,0xE2F9C000), D(0x3D5CCEF4,0xE4F736C2)	.word	D(0x3FE4618B,0xC21C4000), D(0x3D6EC27D,0x0B7B37B3)	.word	D(0x3FE48353,0xD1EA8000), D(0x3D51BEE7,0xABD17660)	.word	D(0x3FE4A4F8,0x5DB04000), D(0xBD244FDD,0x840B8591)	.word	D(0x3FE4C679,0xAFCD0000), D(0xBD61C64E,0x971322CE)	.word	D(0x3FE4E7D8,0x11B74000), D(0x3D6BB09C,0xB0985646)	.word	D(0x3FE50913,0xCC018000), D(0xBD6794B4,0x34C5A4F5)	.word	D(0x3FE52A2D,0x265BC000), D(0x3D46ABB9,0xDF22BC57)	.word	D(0x3FE54B24,0x67998000), D(0x3D6497A9,0x15428B44)	.word	D(0x3FE56BF9,0xD5B40000), D(0xBD58CD7D,0xC73BD194)	.word	D(0x3FE58CAD,0xB5CD8000), D(0xBD49DB3D,0xB43689B4)	.word	D(0x3FE5AD40,0x4C358000), D(0x3D6F2CFB,0x29AAA5F0)	.word	D(0x3FE5CDB1,0xDC6C0000), D(0x3D67648C,0xF6E3C5D7)	.word	D(0x3FE5EE02,0xA9240000), D(0x3D667570,0xD6095FD2)	.word	D(0x3FE60E32,0xF4478000), D(0x3D51B194,0xF912B417)	.word	D(0x3FE62E42,0xFEFA4000), D(0xBD48432A,0x1B0E2634)#endif	/* INCLUDE_DOUBLE_PRECISION */#ifdef	INCLUDE_SINGLE_PRECISION/********************************************************************************* EXPF_DAT - data for table driven approach to expf** NOMANUAL*/.rdata	.align	3EXPF_DAT:.word  0x3f800000,0x00000000        .word   0x3f82cd87,0x2850eb9f        .word   0x3f85aac3,0x2776298c        .word   0x3f88980e,0x2785275e        .word   0x3f8b95c2,0x286b737e        .word   0x3f8ea43a,0x2829e017        .word   0x3f91c3d3,0x28619b08        .word   0x3f94f4f0,0x2804b097        .word   0x3f9837f0,0x27a96f47        .word   0x3f9b8d3a,0x272a7145        .word   0x3f9ef532,0x2808d6d0        .word   0x3fa27043,0x28340c4e        .word   0x3fa5fed7,0x281c750e        .word   0x3fa9a15b,0x25ef8542        .word   0x3fad583f,0x28256325        .word   0x3fb123f6,0x26963e1f        .word   0x3fb504f3,0x274908b3        .word   0x3fb8fbaf,0x284f748e        .word   0x3fbd08a4,0x26dafaa2        .word   0x3fc12c4d,0x2794567c        .word   0x3fc5672a,0x27dadd3e        .word   0x3fc9b9be,0x2813d140        .word   0x3fce248c,0x2780e3e2        .word   0x3fd2a81e,0x27e45a12        .word   0x3fd744fd,0x28357a1d        .word   0x3fdbfbb8,0x26dd54f6        .word   0x3fe0ccdf,0x27e11106        .word   0x3fe5b907,0x2824540f        .word   0x3feac0c7,0x26e4bb41        .word   0x3fefe4ba,0x27f5cb46        .word   0x3ff5257d,0x27cc2c7c        .word   0x3ffa83b3,0x24ce9f09/********************************************************************************* local_sqrttable - data for table driven approach to sqrt** NOMANUAL*/local_sqrttable:	.word 83599<<3	.word 71378<<3	.word 60428<<3	.word 50647<<3	.word 41945<<3	.word 34246<<3	.word 27478<<3	.word 21581<<3	.word 16499<<3	.word 12183<<3	.word 8588<<3	.word 5674<<3	.word 3403<<3	.word 1742<<3	.word 661<<3	.word 130<<3	.word 0<<3	.word 1204<<3	.word 3062<<3	.word 5746<<3	.word 9193<<3	.word 13348<<3	.word 18162<<3	.word 23592<<3	.word 29598<<3	.word 36145<<3	.word 43202<<3	.word 50740<<3	.word 58733<<3	.word 67158<<3	.word 75992<<3	.word 85215<<3#endif	/* INCLUDE_SINGLE_PRECISION */	.globl _sqrttable_sqrttable:	.word 83599	.word 71378	.word 60428	.word 50647	.word 41945	.word 34246	.word 27478	.word 21581	.word 16499	.word 12183	.word 8588	.word 5674	.word 3403	.word 1742	.word 661	.word 130	.word 0	.word 1204	.word 3062	.word 5746	.word 9193	.word 13348	.word 18162	.word 23592	.word 29598	.word 36145	.word 43202	.word 50740	.word 58733	.word 67158	.word 75992	.word 85215#endif	/* PORTABL

⌨️ 快捷键说明

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