亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mathhardlib.c

?? vxworks的源代碼
?? C
字號:
/* mathHardLib.c - hardware floating point math library *//* Copyright 1984-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01c,05sep01,hdn  added cosh, sinh, tanh support(spr 25654)01b,08jun93,hdn  updated to 5.1		  -changed copyright notice		  -changed VOID to void		  -made logMsg calls indirect to reduce coupling		  -changed includes to have absolute path from h/01a,16sep92,hdn  written by modifying Tron's mathHardLib.c.*//*DESCRIPTIONThis library provides support routines for using the hardware floatingpoint coprocessor i80387 with high-level math functions.The high level functions include triginometric operations, exponents,etc.  The routines in this library will automatically be used for high-levelmath functions only if mathHardInit() has been called previously.  */#include "vxWorks.h"#include "math.h"#include "logLib.h"#include "fppLib.h"#include "intLib.h"#include "private/funcBindP.h"/* Externals */extern double  mathHardAcos ();		/* functions in mathHardALib.s */extern double  mathHardAsin ();extern double  mathHardAtan ();extern double  mathHardAtan2 ();extern double  mathHardCeil ();extern double  mathHardCos ();extern double  mathHardExp ();extern double  mathHardFabs ();extern double  mathHardFloor ();extern double  mathHardFmod ();extern double  mathHardInfinity ();extern int     mathHardIrint ();extern int     mathHardIround ();extern double  mathHardLog ();extern double  mathHardLog2 ();extern double  mathHardLog10 ();extern double  mathHardPow ();extern double  mathHardRound ();extern double  mathHardSin ();extern void    mathHardSincos ();extern double  mathHardSqrt ();extern double  mathHardTan ();extern double  mathHardTrunc ();extern double  cosh ();			/* functions in libc/math */extern double  sinh ();extern double  tanh ();extern DBLFUNCPTR	mathAcosFunc;	/* double-precision function ptrs */extern DBLFUNCPTR	mathAsinFunc;extern DBLFUNCPTR	mathAtanFunc;extern DBLFUNCPTR	mathAtan2Func;extern DBLFUNCPTR	mathCbrtFunc;extern DBLFUNCPTR	mathCeilFunc;extern DBLFUNCPTR	mathCosFunc;extern DBLFUNCPTR	mathCoshFunc;extern DBLFUNCPTR	mathExpFunc;extern DBLFUNCPTR	mathFabsFunc;extern DBLFUNCPTR	mathFloorFunc;extern DBLFUNCPTR	mathFmodFunc;extern DBLFUNCPTR	mathHypotFunc;extern DBLFUNCPTR	mathInfinityFunc;extern FUNCPTR		mathIrintFunc;extern FUNCPTR		mathIroundFunc;extern DBLFUNCPTR	mathLogFunc;extern DBLFUNCPTR	mathLog2Func;extern DBLFUNCPTR	mathLog10Func;extern DBLFUNCPTR	mathPowFunc;extern DBLFUNCPTR	mathRoundFunc;extern DBLFUNCPTR	mathSinFunc;extern VOIDFUNCPTR	mathSincosFunc;extern DBLFUNCPTR	mathSinhFunc;extern DBLFUNCPTR	mathSqrtFunc;extern DBLFUNCPTR	mathTanFunc;extern DBLFUNCPTR	mathTanhFunc;extern DBLFUNCPTR	mathTruncFunc;extern FLTFUNCPTR	mathFacosFunc;	/* single-precision function ptrs */extern FLTFUNCPTR	mathFasinFunc;extern FLTFUNCPTR	mathFatanFunc;extern FLTFUNCPTR	mathFatan2Func;extern FLTFUNCPTR	mathFcbrtFunc;extern FLTFUNCPTR	mathFceilFunc;extern FLTFUNCPTR	mathFcosFunc;extern FLTFUNCPTR	mathFcoshFunc;extern FLTFUNCPTR	mathFexpFunc;extern FLTFUNCPTR	mathFfabsFunc;extern FLTFUNCPTR	mathFfloorFunc;extern FLTFUNCPTR	mathFfmodFunc;extern FLTFUNCPTR	mathFhypotFunc;extern FLTFUNCPTR	mathFinfinityFunc;extern FUNCPTR		mathFirintFunc;extern FUNCPTR		mathFiroundFunc;extern FLTFUNCPTR	mathFlogFunc;extern FLTFUNCPTR	mathFlog2Func;extern FLTFUNCPTR	mathFlog10Func;extern FLTFUNCPTR	mathFpowFunc;extern FLTFUNCPTR	mathFroundFunc;extern FLTFUNCPTR	mathFsinFunc;extern VOIDFUNCPTR	mathFsincosFunc;extern FLTFUNCPTR	mathFsinhFunc;extern FLTFUNCPTR	mathFsqrtFunc;extern FLTFUNCPTR	mathFtanFunc;extern FLTFUNCPTR	mathFtanhFunc;extern FLTFUNCPTR	mathFtruncFunc;extern void		mathErrNoInit (); /* initial value of func ptrs *//* Forward declarations */LOCAL void	mathHardNoSingle ();LOCAL void	mathHardCbrt ();LOCAL void	mathHardHypot ();/******************************************************************************** mathHardInit - initialize hardware floating point math support** This routine is called from usrConfig if INCLUDE_I80387* is defined.  This causes the linker to include the floating point* hardware support library.** This routine places the addresses of the hardware high-level math functions* (triginometric functions, etc.) in a set of global variables.  This* allows the standard math functions (e.g. sin(), pow()) to have a single* entry point but be dispatched to the hardware or software support* routines, as specified.* * Certain routines which are present in the floating point software emulation* library do not have equivalent hardware support routines.  (These are* primarily routines which handle single-precision floating point.)  If* no emulation routine address has already been put in the global variable* for this function, the address of a dummy routine which logs an error* message is placed in the variable; if an emulation routine address is* present (the emulation initialization, via mathSoftInit(), must be done * prior to hardware floating point initialization), the emulation routine * address is left alone.  In this way, hardware routines will be used for all * available functions, while emulation will be used for the missing functions.** SEE ALSO: mathSoftInit()**/void mathHardInit ()    {    /* Don't do more unless there really is hardware support */    fppInit();			/* attempt to init hardware support */    if (fppProbe() != OK)	/* is there a coprocessor ? */	return;			/*  exit if no */        /* Load hardware routine addresses into global variables     * defined in mathALib.s.     */    /* Double-precision routines */        if (mathAcosFunc == (DBLFUNCPTR) mathErrNoInit)        mathAcosFunc = mathHardAcos;    if (mathAsinFunc == (DBLFUNCPTR) mathErrNoInit)        mathAsinFunc = mathHardAsin;    if (mathAtanFunc == (DBLFUNCPTR) mathErrNoInit)        mathAtanFunc = mathHardAtan;    if (mathAtan2Func == (DBLFUNCPTR) mathErrNoInit)        mathAtan2Func = mathHardAtan2;    if (mathCeilFunc == (DBLFUNCPTR) mathErrNoInit)        mathCeilFunc = mathHardCeil;    if (mathCosFunc == (DBLFUNCPTR) mathErrNoInit)        mathCosFunc = mathHardCos;    if (mathCoshFunc == (DBLFUNCPTR) mathErrNoInit)        mathCoshFunc = cosh;		/* drag in libc/math/cosh */    if (mathExpFunc == (DBLFUNCPTR) mathErrNoInit)        mathExpFunc = mathHardExp;    if (mathFabsFunc == (DBLFUNCPTR) mathErrNoInit)        mathFabsFunc = mathHardFabs;    if (mathFmodFunc == (DBLFUNCPTR) mathErrNoInit)        mathFmodFunc = mathHardFmod;    if (mathFloorFunc == (DBLFUNCPTR) mathErrNoInit)        mathFloorFunc = mathHardFloor;    if (mathInfinityFunc == (DBLFUNCPTR) mathErrNoInit)        mathInfinityFunc = mathHardInfinity;    if (mathIrintFunc == (FUNCPTR) mathErrNoInit)        mathIrintFunc = mathHardIrint;    if (mathIroundFunc == (FUNCPTR) mathErrNoInit)        mathIroundFunc = mathHardIround;    if (mathLogFunc == (DBLFUNCPTR) mathErrNoInit)        mathLogFunc = mathHardLog;    if (mathLog2Func == (DBLFUNCPTR) mathErrNoInit)        mathLog2Func = mathHardLog2;    if (mathLog10Func == (DBLFUNCPTR) mathErrNoInit)        mathLog10Func = mathHardLog10;    if (mathPowFunc == (DBLFUNCPTR) mathErrNoInit)        mathPowFunc = mathHardPow;    if (mathRoundFunc == (DBLFUNCPTR) mathErrNoInit)        mathRoundFunc = mathHardRound;    if (mathSinFunc == (DBLFUNCPTR) mathErrNoInit)        mathSinFunc = mathHardSin;    if (mathSincosFunc == mathErrNoInit)        mathSincosFunc = mathHardSincos;    if (mathSinhFunc == (DBLFUNCPTR) mathErrNoInit)        mathSinhFunc = sinh;		/* drag in libc/math/sinh */    if (mathSqrtFunc == (DBLFUNCPTR) mathErrNoInit)        mathSqrtFunc = mathHardSqrt;    if (mathTanFunc == (DBLFUNCPTR) mathErrNoInit)        mathTanFunc = mathHardTan;    if (mathTanhFunc == (DBLFUNCPTR) mathErrNoInit)        mathTanhFunc = tanh;		/* drag in libc/math/tanh */    if (mathTruncFunc == (DBLFUNCPTR) mathErrNoInit)        mathTruncFunc = mathHardTrunc;    /* Single-precision functions (unsupported) */        if (mathFacosFunc == (FLTFUNCPTR) mathErrNoInit)    	mathFacosFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFasinFunc == (FLTFUNCPTR) mathErrNoInit)	mathFasinFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFatanFunc == (FLTFUNCPTR) mathErrNoInit)	mathFatanFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFatan2Func == (FLTFUNCPTR) mathErrNoInit)	mathFatan2Func = (FLTFUNCPTR) mathHardNoSingle;    if (mathFcbrtFunc == (FLTFUNCPTR) mathErrNoInit)	mathFcbrtFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFceilFunc == (FLTFUNCPTR) mathErrNoInit)	mathFceilFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFcosFunc == (FLTFUNCPTR) mathErrNoInit)	mathFcosFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFcoshFunc == (FLTFUNCPTR) mathErrNoInit)	mathFcoshFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFexpFunc == (FLTFUNCPTR) mathErrNoInit)	mathFexpFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFfabsFunc == (FLTFUNCPTR) mathErrNoInit)	mathFfabsFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFfmodFunc == (FLTFUNCPTR) mathErrNoInit)	mathFfmodFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFfloorFunc == (FLTFUNCPTR) mathErrNoInit)	mathFfloorFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFhypotFunc == (FLTFUNCPTR) mathErrNoInit)	mathFhypotFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFinfinityFunc == (FLTFUNCPTR) mathErrNoInit)	mathFinfinityFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFirintFunc == (FUNCPTR) mathErrNoInit)	mathFirintFunc = (FUNCPTR) mathHardNoSingle;    if (mathFiroundFunc == (FUNCPTR) mathErrNoInit)	mathFiroundFunc = (FUNCPTR) mathHardNoSingle;    if (mathFlogFunc == (FLTFUNCPTR) mathErrNoInit)	mathFlogFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFlog2Func == (FLTFUNCPTR) mathErrNoInit)	mathFlog2Func = (FLTFUNCPTR) mathHardNoSingle;    if (mathFlog10Func == (FLTFUNCPTR) mathErrNoInit)	mathFlog10Func = (FLTFUNCPTR) mathHardNoSingle;    if (mathFpowFunc == (FLTFUNCPTR) mathErrNoInit)	mathFpowFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFroundFunc == (FLTFUNCPTR) mathErrNoInit)	mathFroundFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFsinFunc == (FLTFUNCPTR) mathErrNoInit)	mathFsinFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFsincosFunc == mathErrNoInit)	mathFsincosFunc = mathHardNoSingle;    if (mathFsinhFunc == (FLTFUNCPTR) mathErrNoInit)	mathFsinhFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFsqrtFunc == (FLTFUNCPTR) mathErrNoInit)	mathFsqrtFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFtanFunc == (FLTFUNCPTR) mathErrNoInit)	mathFtanFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFtanhFunc == (FLTFUNCPTR) mathErrNoInit)	mathFtanhFunc = (FLTFUNCPTR) mathHardNoSingle;    if (mathFtruncFunc == (FLTFUNCPTR) mathErrNoInit)	mathFtruncFunc = (FLTFUNCPTR) mathHardNoSingle;    /* Miscellaneous unsupported functions */    if (mathCbrtFunc == (DBLFUNCPTR) mathErrNoInit)    	mathCbrtFunc = (DBLFUNCPTR) mathHardCbrt;    if (mathHypotFunc == (DBLFUNCPTR) mathErrNoInit)    	mathHypotFunc = (DBLFUNCPTR) mathHardHypot;    }/******************************************************************************** mathHardNoSingle - log error message for unsupported single-precision fp** This routine will generate a log message to the VxWorks console if* an attempt is made to use single-precision math functions with the* hardware floating point coprocessor (not supported).**/LOCAL void mathHardNoSingle ()    {    if (_func_logMsg != NULL)	(* _func_logMsg) ("ERROR - single-precision flt. point not supported\n",			  0,0,0,0,0,0);    }/******************************************************************************** mathHardCbrt - log error message for unsupported cube root function** This routine will generate a log message to the VxWorks console if* an attempt is made to use the cbrt() cube root function with the* hardware floating point coprocessor (not supported).**/LOCAL void mathHardCbrt ()    {    if (_func_logMsg != NULL)        (* _func_logMsg) ("ERROR - h/w flt. point cube root not supported\n",			  0,0,0,0,0,0);    }/******************************************************************************** mathHardHypot - log error message for unsupported hypot function** This routine will generate a log message to the VxWorks console if* an attempt is made to use the hypot() Euclidean distance function with * the hardware floating point coprocessor (not supported).**/LOCAL void mathHardHypot ()    {    if (_func_logMsg != NULL)        (* _func_logMsg) ("ERROR - h/w flt. point hypot not supported\n",			  0,0,0,0,0,0);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美第一区| 在线视频一区二区免费| 欧美一区二区三区系列电影| 在线观看91精品国产入口| 亚洲成人在线观看视频| 一区二区高清视频在线观看| 欧美精品粉嫩高潮一区二区| 欧美日韩免费在线视频| 国产精品一区久久久久| 亚洲欧洲av另类| 欧美一级久久久| 日韩午夜av一区| 色综合视频在线观看| 久久成人久久爱| 韩国成人精品a∨在线观看| 亚洲乱码国产乱码精品精可以看 | 亚洲男人的天堂av| 综合在线观看色| 亚洲最色的网站| 首页国产丝袜综合| 国产精品福利影院| 亚洲一区在线视频| 日韩电影在线免费看| 国内偷窥港台综合视频在线播放| 国产九色精品成人porny| 成人精品国产免费网站| 九一久久久久久| 成人av第一页| 国产精品一二三在| 日本欧美在线观看| 一区二区三区久久久| 免费观看日韩av| 亚洲一区二区在线观看视频| 午夜精品福利一区二区三区av | 亚洲午夜一区二区| 日韩女优av电影在线观看| 国产三级精品在线| 日韩一级成人av| 国产精品二区一区二区aⅴ污介绍| 亚洲成a人在线观看| 亚洲综合另类小说| 成人免费在线视频观看| 日本一区二区成人| 香蕉影视欧美成人| 东方欧美亚洲色图在线| 7777精品伊人久久久大香线蕉完整版 | 一级女性全黄久久生活片免费| 国产亚洲精品超碰| 久久久亚洲高清| 亚洲国产乱码最新视频 | 青青草国产成人av片免费| 岛国一区二区在线观看| 日韩视频在线观看一区二区| 最近日韩中文字幕| 最近日韩中文字幕| 国产一区999| 欧美一级欧美三级| 久久久无码精品亚洲日韩按摩| 精品国产1区二区| 国产亚洲精品精华液| 免费在线成人网| 欧美日韩亚洲不卡| 日韩欧美精品在线视频| 夜夜嗨av一区二区三区网页| 99久久精品免费看国产| 国产精品欧美精品| 一区二区三区不卡视频在线观看 | 美女国产一区二区三区| 欧美制服丝袜第一页| 日韩三级中文字幕| 日日摸夜夜添夜夜添精品视频| 色先锋资源久久综合| 制服丝袜中文字幕一区| 久久一区二区视频| 久久国产视频网| 日韩免费观看高清完整版| 久久国产生活片100| 日韩免费高清av| 中文字幕一区二区三区在线播放| 国产高清在线观看免费不卡| 在线观看网站黄不卡| 日韩午夜在线观看视频| 亚洲国产精品二十页| 国产精品一区二区在线看| 国产午夜三级一区二区三| 成人免费毛片嘿嘿连载视频| 中文一区二区在线观看| 成人深夜在线观看| 亚洲五码中文字幕| 这里是久久伊人| 久久97超碰国产精品超碰| 久久蜜桃av一区精品变态类天堂| 一区二区三区中文字幕精品精品| 91亚洲精品久久久蜜桃| 亚洲大片精品永久免费| 欧美电影免费观看高清完整版在| 亚洲女同ⅹxx女同tv| 欧美视频中文字幕| 国产精品热久久久久夜色精品三区| 成人av在线影院| 亚洲一区在线视频观看| 日韩欧美国产电影| 粉嫩av一区二区三区| 亚洲欧洲制服丝袜| 国产麻豆成人传媒免费观看| 国产精品你懂的| 欧美色视频在线| 亚洲视频在线观看一区| 久久99久久久欧美国产| 国产精品久线观看视频| 欧美美女直播网站| 亚洲综合久久av| 久久欧美中文字幕| 欧美日韩免费在线视频| 国产成人精品免费一区二区| 亚洲1区2区3区4区| 欧美激情在线看| 91精品国产全国免费观看| 成人午夜激情影院| 免费高清在线视频一区·| 欧美日韩高清不卡| 国产精品一区二区久激情瑜伽| 一区二区三区中文在线| 91国在线观看| 大胆亚洲人体视频| 日本亚洲三级在线| 亚洲国产另类av| 在线不卡一区二区| 欧美中文字幕一二三区视频| 春色校园综合激情亚洲| 黄色小说综合网站| 日本三级韩国三级欧美三级| 日韩视频一区二区| 色噜噜狠狠色综合中国| 高清在线不卡av| 韩国三级中文字幕hd久久精品| 日韩国产精品久久| 日韩一区二区免费视频| 韩国成人在线视频| 久久精品国产亚洲aⅴ| 久久综合久久综合亚洲| 日韩亚洲电影在线| 9191精品国产综合久久久久久| 久久狠狠亚洲综合| 国产精品免费视频观看| 91传媒视频在线播放| 亚洲.国产.中文慕字在线| 亚洲欧美一区二区不卡| 9191久久久久久久久久久| 欧美三级中文字幕在线观看| 91黄色小视频| 久久国产免费看| 九九**精品视频免费播放| 美国av一区二区| 亚洲乱码国产乱码精品精98午夜| 欧美激情中文字幕| 18成人在线观看| 亚洲精品成人精品456| 亚洲激情综合网| 精品区一区二区| 91免费看`日韩一区二区| 99天天综合性| 在线视频亚洲一区| 国产精品一区二区久久精品爱涩| 国产伦理精品不卡| 粉嫩在线一区二区三区视频| 丁香五精品蜜臀久久久久99网站| 成人中文字幕在线| 91美女片黄在线观看| 欧美性感一类影片在线播放| 国产精品一级二级三级| 99久久99久久久精品齐齐| 日韩成人一区二区三区在线观看| 奇米一区二区三区| 成人手机电影网| 日本韩国一区二区| 在线观看www91| 国产日韩欧美在线一区| 视频一区二区三区入口| 91色九色蝌蚪| 亚洲精品免费看| 色悠悠久久综合| 亚洲免费成人av| 在线视频一区二区免费| 亚洲乱码国产乱码精品精可以看| 久久免费偷拍视频| 国产亚洲欧洲997久久综合| 国产91露脸合集magnet | 国内精品写真在线观看| 国产精品传媒入口麻豆| 在线视频观看一区| 三级影片在线观看欧美日韩一区二区 | 久久激情五月激情| 91原创在线视频| 欧美不卡一区二区三区四区| 欧美在线高清视频| 色综合色综合色综合| 日韩欧美电影一区| 日韩欧美你懂的| 一区二区三区不卡在线观看 |