<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Tgmath.h</id>
	<title>Tgmath.h - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Tgmath.h"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Tgmath.h&amp;action=history"/>
	<updated>2026-07-13T15:15:38Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Tgmath.h&amp;diff=2151459&amp;oldid=prev</id>
		<title>imported&gt;Cewbot：​機器人作業請求: source 改 syntaxhighlight (Category:使用已弃用source标签的页面) - log</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Tgmath.h&amp;diff=2151459&amp;oldid=prev"/>
		<updated>2020-07-07T04:06:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/wiki/Special:%E5%B7%AE%E5%BC%82/60461710#source_改_syntaxhighlight&quot; title=&quot;Special:差异/60461710&quot;&gt;機器人作業請求&lt;/a&gt;: source 改 syntaxhighlight (Category:使用已弃用source标签的页面) - &lt;a href=&quot;/index.php?title=User:Cewbot/log/20190913&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Cewbot/log/20190913（页面不存在）&quot;&gt;log&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
|1=zh-hans:宏; zh-hant:巨集;&lt;br /&gt;
}}&lt;br /&gt;
{{lowercase|title=tgmath.h}}&lt;br /&gt;
{{C_Standard_library}} &amp;lt;!-- to edit this template go to [[template:C_Standard_library]] --&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;tgmath.h&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;是[[C標準函数庫]]中的[[头文件]]，提供了数学函数的类型通用的宏定义。使用这些宏调用数学函数时，会根据参数自动对应到类型适合的数学函数，其效果类似于[[C++]]的[[函数重载]]，使得编程者不必繁琐地去调用数学库函数的单精度、双精度、长双精度、单精度复数、双精度复数、长双精度复数等各个版本。&lt;br /&gt;
==宏定义==&lt;br /&gt;
===math.h与complex.h共有===&lt;br /&gt;
一些常见数学函数既在&amp;lt;code&amp;gt;math.h&amp;lt;/code&amp;gt;有实数版本，也在&amp;lt;code&amp;gt;complex.h&amp;lt;/code&amp;gt;有复数版本。&amp;lt;code&amp;gt;tgmath.h&amp;lt;/code&amp;gt;提供了下述类型通用的宏定义：&lt;br /&gt;
*acos&lt;br /&gt;
*asin&lt;br /&gt;
*atan&lt;br /&gt;
*acosh&lt;br /&gt;
*asinh&lt;br /&gt;
*atanh&lt;br /&gt;
*cos&lt;br /&gt;
*sin&lt;br /&gt;
*tan&lt;br /&gt;
*cosh&lt;br /&gt;
*sinh&lt;br /&gt;
*tanh&lt;br /&gt;
*exp&lt;br /&gt;
*log&lt;br /&gt;
*pow&lt;br /&gt;
*sqrt&lt;br /&gt;
*fabs&lt;br /&gt;
===math.h专用===&lt;br /&gt;
对于包含在&amp;lt;code&amp;gt;math.h&amp;lt;/code&amp;gt;中，但在&amp;lt;code&amp;gt;complex.h&amp;lt;/code&amp;gt;中没有对应的函数，提供了下述通用类型的宏：&lt;br /&gt;
*atan2&lt;br /&gt;
*cbrt&lt;br /&gt;
*ceil&lt;br /&gt;
*copysign&lt;br /&gt;
*erf&lt;br /&gt;
*erfc&lt;br /&gt;
*exp2&lt;br /&gt;
*expm1&lt;br /&gt;
*fdim&lt;br /&gt;
*floor&lt;br /&gt;
*fma&lt;br /&gt;
*fmax&lt;br /&gt;
*fmin&lt;br /&gt;
*fmod&lt;br /&gt;
*frexp&lt;br /&gt;
*hypot&lt;br /&gt;
*ilogb&lt;br /&gt;
*ldexp&lt;br /&gt;
*lgamma&lt;br /&gt;
*llrint&lt;br /&gt;
*llround&lt;br /&gt;
*log10&lt;br /&gt;
*log1p&lt;br /&gt;
*log2&lt;br /&gt;
*logb&lt;br /&gt;
*lrint&lt;br /&gt;
*lround&lt;br /&gt;
*nearbyint&lt;br /&gt;
*nextafter&lt;br /&gt;
*nexttoward&lt;br /&gt;
*remainder&lt;br /&gt;
*remquo&lt;br /&gt;
*rint&lt;br /&gt;
*round&lt;br /&gt;
*scalbn&lt;br /&gt;
*scalbln&lt;br /&gt;
*tgamma&lt;br /&gt;
*trunc&lt;br /&gt;
===complex.h专用===&lt;br /&gt;
对于包含在&amp;lt;code&amp;gt;complex.h&amp;lt;/code&amp;gt;中，但在&amp;lt;code&amp;gt;math.h&amp;lt;/code&amp;gt;中没有对应的函数，提供了下述通用类型的宏：&lt;br /&gt;
*carg&lt;br /&gt;
*cimag&lt;br /&gt;
*conj&lt;br /&gt;
*cproj&lt;br /&gt;
*creal&lt;br /&gt;
==例子==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;tgmath.h&amp;gt;&lt;br /&gt;
int n;&lt;br /&gt;
float f;&lt;br /&gt;
double d;&lt;br /&gt;
long double ld;&lt;br /&gt;
float complex fc;&lt;br /&gt;
double complex dc;&lt;br /&gt;
long double complex ldc;&lt;br /&gt;
&lt;br /&gt;
              //实际调用了：&lt;br /&gt;
exp(n);   //exp(n)&lt;br /&gt;
acosh(f);   // acoshf(f)&lt;br /&gt;
sin(d);   // sin(d) &lt;br /&gt;
atan(ld);   // atanl(ld)&lt;br /&gt;
log(fc);   // clogf(fc)&lt;br /&gt;
sqrt(dc);   // csqrt(dc)&lt;br /&gt;
pow(ldc, f);   // cpowl(ldc, f)&lt;br /&gt;
remainder(n, n);   // remainder(n, n) &lt;br /&gt;
nextafter(d, f);   // nextafter(d, f) &lt;br /&gt;
nexttoward(f, ld);   // nexttowardf(f, ld)&lt;br /&gt;
copysign(n, ld);   // copysignl(n, ld)&lt;br /&gt;
ceil(fc);   // 未定义&lt;br /&gt;
rint(dc);   // 未定义&lt;br /&gt;
fmax(ldc, ld);   // 未定义&lt;br /&gt;
carg(n);   // carg(n) &lt;br /&gt;
cproj(f);   // cprojf(f)&lt;br /&gt;
creal(d);   // creal(d) &lt;br /&gt;
cimag(ld);   // cimagl(ld)&lt;br /&gt;
cabs(fc);   // cabsf(fc)&lt;br /&gt;
carg(dc);   // carg(dc) &lt;br /&gt;
cproj(ldc);   // cprojl(ldc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==参考文献==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Category:C標準函式庫|V]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cewbot</name></author>
	</entry>
</feed>