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

📄 rt_fp.h

📁 Keil for ARM.rar
💻 H
字号:
/* rt_fp.h: prototypes for the fplib basic-arithmetic functions
 *
 * Copyright 1999 ARM Limited. All rights reserved.
 *
 * RCS $Revision: 1.4 $
 * Checkin $Date: 2000/11/08 15:43:29 $
 * Revising $Author: statham $
 */

#ifndef __RT_FP_H
#define __RT_FP_H

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Trivial routines.
 */
extern __softfp float _fneg(float);
extern __softfp float _fabs(float);
extern __softfp double _dneg(double);
extern __softfp double _dabs(double);

/*
 * Single-precision arithmetic routines.
 */
extern __softfp float _fadd(float, float);
extern __softfp float _fsub(float, float);
extern __softfp float _frsb(float, float);
extern __softfp float _fmul(float, float);
extern __softfp float _fdiv(float, float);
extern __softfp float _frdiv(float, float);
extern __softfp float _frem(float, float);
extern __softfp float _frnd(float);
extern __softfp float _fsqrt(float);

/*
 * Double-precision arithmetic routines.
 */
extern __softfp double _dadd(double, double);
extern __softfp double _dsub(double, double);
extern __softfp double _drsb(double, double);
extern __softfp double _dmul(double, double);
extern __softfp double _ddiv(double, double);
extern __softfp double _drdiv(double, double);
extern __softfp double _drem(double, double);
extern __softfp double _drnd(double);
extern __softfp double _dsqrt(double);

/*
 * Boolean-return compares ({f,d}cmp{eq,ge,le} are not listed
 * because they return results in the flags and so cannot be
 * described by C prototypes).
 */
extern __softfp int _feq(float, float);
extern __softfp int _fneq(float, float);
extern __softfp int _fgeq(float, float);
extern __softfp int _fgr(float, float);
extern __softfp int _fleq(float, float);
extern __softfp int _fls(float, float);
extern __softfp int _deq(double, double);
extern __softfp int _dneq(double, double);
extern __softfp int _dgeq(double, double);
extern __softfp int _dgr(double, double);
extern __softfp int _dleq(double, double);
extern __softfp int _dls(double, double);

/*
 * Floating-to-floating format conversions.
 */
extern __softfp double _f2d(float);
extern __softfp float _d2f(double);

/*
 * Integer-to-floating format conversions.
 */
extern __softfp float _fflt(int);
extern __softfp float _ffltu(unsigned int);
extern __softfp double _dflt(int);
extern __softfp double _dfltu(unsigned int);
extern __softfp float _ll_sto_f(long long);
extern __softfp float _ll_uto_f(unsigned long long);
extern __softfp double _ll_sto_d(long long);
extern __softfp double _ll_uto_d(unsigned long long);

/*
 * Floating-to-integer format conversions, rounding toward zero
 * always.
 */
extern __softfp int _ffix(float);
extern __softfp unsigned int _ffixu(float);
extern __softfp int _dfix(double);
extern __softfp unsigned int _dfixu(double);
extern __softfp long long _ll_sfrom_f(float);
extern __softfp unsigned long long _ll_ufrom_f(float);
extern __softfp long long _ll_sfrom_d(double);
extern __softfp unsigned long long _ll_ufrom_d(double);

/*
 * Floating-to-integer format conversions, rounding to nearest or
 * configurably.
 */
extern __softfp int _ffix_r(float);
extern __softfp unsigned int _ffixu_r(float);
extern __softfp int _dfix_r(double);
extern __softfp unsigned int _dfixu_r(double);
extern __softfp long long _ll_sfrom_f_r(float);
extern __softfp unsigned long long _ll_ufrom_f_r(float);
extern __softfp long long _ll_sfrom_d_r(double);
extern __softfp unsigned long long _ll_ufrom_d_r(double);

/*
 * Call this before using any fplib routines, if you're trying to
 * use fplib on the bare metal.
 */
extern void _fp_init(void);

/*
 * This returns a pointer to the FP status word, when it's stored
 * in memory.
 */
extern unsigned *__rt_fp_status_addr(void);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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