亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

C標準庫源碼解剖(15):數學函數庫math.h, tgmath.h和complex.h

2024-07-10 13:27:20
字體:
來源:轉載
供稿:網友
   數學庫是一個龐大的庫,而且數學函數的實現一般要涉及到特有的數值算法,因此這里也是作一個概述性的介紹。標準C中的數學庫有3個頭文件math.h, tgmath.h和complex.h,其中tgmath.h和complex.h是C99中引入的。標準C中定義的數學函數主要是初等函數,包括絕對值函數、高斯函數(即求最近整數)、指數函數、對數函數、冪函數、三角函數與反三角函數、雙曲函數與反雙曲函數等。非初等函數主要有誤差函數、gamma函數及其自然對數。其他的還有浮點數分類函數、浮點數比較函數。glibc的數學庫實現在math目錄下。
    數學函數在math.h中聲明,復數運算及其函數在complex.h中聲明。C99對每個數學函數增加了兩個分別針對float和long double的版本,只要在函數名后加f和l即可。由于每個函數對不同的參數類型有多個版本,使用起來不方便,因此C99在tgmath.h中定義了通用類型宏,這些宏與原始的針對double類型的數學函數同名,它會根據傳過來的實參類型自動調用多個版本中的某一個版本。若函數結果無法表示為返回類型的值,則errno設置為ERANGE,并返回該類型的同符號的最大可浮點數值,在C89中為宏HUGE_VAL的值,C99中還提供了宏HUGE_VALF,HUGE_VALL。
   
    math.h中所有的標準函數接口如下:
    1、abs,labs,llabs,div,ldiv,lldiv:整型的絕對值,及除法運算,這些數學函數在stdlib.h中定義。
    2、fabs:返回double型參數的絕對值,C99中增加了對應的f版本和l版本。
    3、ceil,floor,lrint,llrint,lround,llround,mearbyint,round,rint,trunc:計算與浮點數參數接近的整數,有對應的f和l版本,除ceil和floor外都是C99中新增的。返回整數值,但返回類型很多都設為浮點型,因為得到的整數可能太大,無法用整型表示。
    4、fmod,remainder,remquo:返回x/y的浮點數余數的近似值,有對應的f和l版本,除fmod外都是C99中新增的。
    5、frexp,ldexp,modf,scalbn,scalbln:獲取浮點數的整數和小數部分,scalbn/scalbln將浮點數x乘以b**n,其中b是FLT_RADIX。都有對應的f和l版本,除frexp外都是C99中新增的。
    6、exp,exp2,expml,logb/ilogb,log,log10,log2,log1p:計算e**x,、2**x、 e**(x-1)、logb/ilogb從浮點數x的表示中取指數、 自然對數、10為底的對數、2為底的對數,都有對應的f和l版本,除exp,log,log10外都是C99中增加的。
    7、cbrt,fma,hypot,pow,sqrt:計算x的立方根、x*y+z、x**2+y**2、x**y、x的非負平方根,有對應的f和l版本,除pow,sqrt外都是C99中增加的。
    8、rand,srand,RAND_MAX:生成偽隨機數的函數,在stdlib.h中定義。
    9、cos,sin,tan,cosh,sinh,tanh:余弦、正弦、正切、雙曲余弦、雙曲正弦、雙曲正切函數,參數x為弧度。有對應的f和l版本(C99中增加)。
    10、acos,asin,atan,atan2,acosh,asinh,atanh:反三角函數,有對應的f和l版本,除acos,asin,atan,atan2外都是C99中增加的。
    11、fdim,fmax,fmin:計算x與y的正差值、兩個參數中較大的值、兩個參數中較小的值。
    12、erf,erfc,lgamma,tgamma:計算誤差函數、1-erf(x)、x的gamma函數的自然對數、x的gamma函數。有對應的f和l版本,都是C99中引入的。
    13、fpclassify,isfinite,isinf,isnan,isnormal,signbit:給浮點數分類返回FP_INFINITE,FP_NAN,FP_NOR MAL,FP_SUBNORMAL或FP_ZERO值之一、是否是有限數(既不是無限大也不是NaN)、是否是無限大、是否是NaN、是否是規格化數、是否是負數。都是C99中引入的。
    14、copysign,nan,nextafter,nexttoward:返回采用y的符號后的x、返回靜態NaN、返回y方向上x的下一個浮點數值、與nextaftter等價只是y為long double型。有對應的f和l版本,都是C99中引入的。
    15、isgreater,isgreaterequal,isless,islessequal,islessgreater,isunordered:比較兩個浮點數。若兩個浮點數中有一個或兩個為NaN,則它們是無序的,都是C99中引入的。
   
    對復數及其運算的支持由C99提供,在complex.h中,接口如下:
    1、complex,_Complex_I,imaginary,_Imaginary_I,I:復數類型、虛數類型、虛數單位i。
    2、CX_LIMITED_RANGE:這個標準雜注打開時表示可以使用復數乘法、除法與絕對值運算的"x+yi"實現版本(這個實現是不完善的,用acosx+ibsinx來實現才比較完善)。
    3、ccos,csin,ctan,cacos,casin,catan:復數域內的三角函數,有對應的f和l版本。
    4、ccosh,csinh,ctanh,cacosh,casinh,catanh:復數域內的雙曲函數,有對應的f和l版本。
    5、cexp,clog,cabs,cpow,csqrt:復數域內的指數、對數、絕對值、冪函數,有對應的f和l版本。
    6、carg,cimag,creal,conj,cproj:獲取象限角、虛數部分、實數部分、a=x及b=-y、Riemann球上的投影,有對應的f和l版本。
   
    通用類型宏:C99中引入,在tgmath.h中定義。它包含了頭文件math.h和complex.h。通用類型T可以是float,double,long double,float complex,double complex或long double complex。REAL(T)表示與復數類型長度相同的實數類型。這些宏會根據傳來的參數展開成特定的math.h或complex.h中的函數。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
操人视频在线观看欧美| 久久亚洲精品成人| 91成人国产在线观看| 日韩中文字幕在线| 久久综合伊人77777尤物| 亚洲欧美激情另类校园| 欧美日韩美女在线观看| 欧美猛交免费看| 欧美日韩中文字幕综合视频| 国产午夜精品全部视频在线播放| 欧美日韩裸体免费视频| 中国人与牲禽动交精品| 成人在线观看视频网站| 欧美成人中文字幕| 亚洲一区二区三区xxx视频| 亚洲精品一区二区三区不| 38少妇精品导航| 欧美xxxx综合视频| 亚洲va久久久噜噜噜久久天堂| 久久久久久久一区二区三区| 欧美一区二区大胆人体摄影专业网站| 中文字幕欧美专区| 国产97在线观看| 欧美精品在线观看| 黑人巨大精品欧美一区免费视频| 在线色欧美三级视频| 国产日韩欧美视频在线| 日韩黄色高清视频| 亚洲91av视频| 日韩在线视频网站| 欧美日韩成人在线观看| 2020欧美日韩在线视频| 夜夜嗨av一区二区三区四区| 98视频在线噜噜噜国产| 日韩欧美在线国产| 成人免费大片黄在线播放| 国产精品老牛影院在线观看| 亚洲精品久久久久久久久久久| 国产午夜精品美女视频明星a级| 操人视频在线观看欧美| 97激碰免费视频| 亚洲男女性事视频| 2023亚洲男人天堂| 欧美人成在线视频| 日韩美女视频中文字幕| 中文字幕日韩在线播放| 日本不卡免费高清视频| 一本色道久久88综合亚洲精品ⅰ| 欧美激情第99页| 亚洲自拍av在线| 久久这里只有精品99| 国语自产精品视频在线看| 国产精品久久久久久久美男| 国产精品aaaa| 欧美成人午夜免费视在线看片| 懂色av影视一区二区三区| 久久国产精品久久国产精品| 欧美激情精品久久久久久| 亚州欧美日韩中文视频| 性视频1819p久久| 亚洲xxxx妇黄裸体| 欧美精品在线免费观看| 国产精品第一页在线| 久久精品国产99国产精品澳门| 亚洲影院色在线观看免费| 国产成人激情小视频| 欧美大胆a视频| 久久精品影视伊人网| 国产精品久久99久久| 成人黄色免费片| 亚洲高清在线观看| 日韩av网址在线| 97国产真实伦对白精彩视频8| 日韩av在线网| 在线成人中文字幕| 日韩黄色在线免费观看| 2019精品视频| 欧美国产中文字幕| 欧美尺度大的性做爰视频| 欧美性高潮在线| 欧美亚州一区二区三区| 欧美国产日韩中文字幕在线| 欧美精品激情blacked18| 人体精品一二三区| 伊人激情综合网| 日韩中文av在线| 国产精品久久久久久久午夜| 中文字幕欧美专区| 久久综合免费视频影院| 日本欧美一二三区| 国产精品久久久久久一区二区| 日韩精品在线播放| 日韩a**中文字幕| 国产精品嫩草影院一区二区| 久久久久999| 成人欧美在线观看| 久久久久久久久久国产| 亚洲第一精品久久忘忧草社区| 国产精品久久久久久久久影视| 这里只有精品在线播放| 欧美一区二区三区……| 亚洲无av在线中文字幕| 久久99国产综合精品女同| 中文字幕在线国产精品| 欧美又大又硬又粗bbbbb| 亚洲成人性视频| 日韩网站免费观看高清| 欧美性猛交xxxx免费看久久久| 久久精品国产清自在天天线| 日韩成人在线观看| 性色av一区二区三区在线观看| 91久久精品美女高潮| 国产精品99蜜臀久久不卡二区| 91人人爽人人爽人人精88v| 国产成人涩涩涩视频在线观看| 丝袜一区二区三区| 亚洲国产欧美在线成人app| 久久国产精品久久国产精品| 中文字幕日韩欧美| 国产欧美日韩中文| 中文字幕av一区二区| 精品国产区一区二区三区在线观看| 51精品国产黑色丝袜高跟鞋| 91亚洲精品在线观看| 午夜精品久久久久久久久久久久| 国产精品专区h在线观看| 日本午夜精品理论片a级appf发布| 欧美午夜视频在线观看| 亚洲欧美精品suv| 国产剧情久久久久久| 亚洲精品国产suv| 91亚洲精品在线观看| 久久久久久久一| 国产精品自产拍在线观看中文| 欧美做爰性生交视频| 欧美激情a∨在线视频播放| 久久久久久综合网天天| 日韩大陆欧美高清视频区| 97免费视频在线| 一本色道久久88亚洲综合88| 欧美中文在线观看国产| www.亚洲天堂| 欧美日韩在线看| 日韩成人网免费视频| 日韩在线视频播放| 国产丝袜高跟一区| 欧美成人一区二区三区电影| 97在线日本国产| 色无极影院亚洲| 欧美黄色性视频| 亚洲精品短视频| 欧美裸身视频免费观看| 亚洲欧洲激情在线| 欧美激情精品久久久久久久变态| 国产精品亚洲激情| 亚洲欧洲xxxx| 久久久久久久成人| 亚洲欧美日韩精品久久奇米色影视| 亚洲人免费视频| 亚洲日本aⅴ片在线观看香蕉| 亚洲欧美资源在线| 欧美一级成年大片在线观看| 黄色一区二区在线| 国产成人av网址|