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

📄 blitz_3.html

📁 c++经典教材 Blitz++ v0.8
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_abt.html#SEC_About"> ? </A>]</TD></TR></TABLE><H2> 3.8 Single-argument math functions </H2><!--docid::SEC86::--><P>All of the functions described in this section are <EM>element-wise</EM>.  Forexample, this code--</P><P><TABLE><tr><td>&nbsp;</td><td class=example><pre>Array&#60;float,2&#62; A, B;   //A = sin(B);</pre></td></tr></table></P><P>results in <CODE>A(i,j) = sin(B(i,j))</CODE> for all (i,j).</P><P><HR SIZE="6"><A NAME="SEC87"></A><TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0><TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_3.html#SEC86"> &lt; </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_3.html#SEC88"> &gt; </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz.html#SEC_Top"> Up </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz.html#SEC_Top">Top</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_toc.html#SEC_Contents">Contents</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_abt.html#SEC_About"> ? </A>]</TD></TR></TABLE><H3> ANSI C++ math functions </H3><!--docid::SEC87::--><P>These math functions are available on all platforms:</P><P><A NAME="IDX191"></A><A NAME="IDX192"></A></P><P><DL COMPACT><DT><CODE>abs()</CODE><DD><A NAME="IDX193"></A>Absolute value <P><DT><CODE>acos()</CODE><DD><A NAME="IDX194"></A>Inverse cosine. For real arguments, the return value is in the range <EM>[0, \pi]</EM>.  <P><DT><CODE>arg()</CODE><DD><A NAME="IDX195"></A>Argument of a complex number (<CODE>atan2(Im,Re)</CODE>). <P><DT><CODE>asin()</CODE><DD><A NAME="IDX196"></A>Inverse sine. For real arguments, the return value is in the range <EM>[-\pi/2, \pi/2]</EM>.  <P><DT><CODE>atan()</CODE><DD><A NAME="IDX197"></A>Inverse tangent.  For real arguments, the return value is in the range<EM>[-\pi/2, \pi/2]</EM>.  See also <CODE>atan2()</CODE> in section<A HREF="blitz_3.html#SEC89">3.9 Two-argument math functions</A>.  <P><DT><CODE>ceil()</CODE><DD><A NAME="IDX198"></A>Ceiling function: smallest floating-point integer value not less than theargument. <P><DT><CODE>cexp()</CODE><DD><A NAME="IDX199"></A>Complex exponential; same as <CODE>exp()</CODE>. <P><DT><CODE>conj()</CODE><DD><A NAME="IDX200"></A>Conjugate of a complex number. <P><DT><CODE>cos()</CODE><DD><A NAME="IDX201"></A>Cosine.  Works for <CODE>complex&#60;T&#62;</CODE>.  <P><DT><CODE>cosh()</CODE><DD><A NAME="IDX202"></A>Hyperbolic cosine.  Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>csqrt()</CODE><DD><A NAME="IDX203"></A>Complex square root; same as <CODE>sqrt()</CODE>. <P><DT><CODE>exp()</CODE><DD><A NAME="IDX204"></A>Exponential.  Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>fabs()</CODE><DD><A NAME="IDX205"></A>Same as <CODE>abs()</CODE>.  <P><DT><CODE>floor()</CODE><DD><A NAME="IDX206"></A>Floor function: largest floating-point integer value not greater than theargument. <P><DT><CODE>log()</CODE><DD><A NAME="IDX207"></A>Natural logarithm.  Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>log10()</CODE><DD><A NAME="IDX208"></A>Base 10 logarithm.  Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>pow2(), pow3(), pow4(), pow5(), pow6(), pow7(), pow8()</CODE><DD><A NAME="IDX209"></A><A NAME="IDX210"></A><A NAME="IDX211"></A>These functions compute an integer power.  They expand to a series ofmultiplications, so they can be used on any type for which multiplication iswell-defined.<P><DT><CODE>sin()</CODE><DD><A NAME="IDX212"></A>Sine.  Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>sinh()</CODE><DD><A NAME="IDX213"></A>Hyperbolic sine.  Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>sqr()</CODE><DD><A NAME="IDX214"></A>Same as <CODE>pow2()</CODE>.  Computes <CODE>x*x</CODE>. Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>sqrt()</CODE><DD><A NAME="IDX215"></A>Square root.  Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>tan()</CODE><DD><A NAME="IDX216"></A>Tangent.  Works for <CODE>complex&#60;T&#62;</CODE>. <P><DT><CODE>tanh()</CODE><DD><A NAME="IDX217"></A>Hyperbolic tangent.  Works for <CODE>complex&#60;T&#62;</CODE>. </DL><P><HR SIZE="6"><A NAME="SEC88"></A><TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0><TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_3.html#SEC87"> &lt; </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_3.html#SEC89"> &gt; </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz.html#SEC_Top"> Up </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz.html#SEC_Top">Top</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_toc.html#SEC_Contents">Contents</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_abt.html#SEC_About"> ? </A>]</TD></TR></TABLE><H3> IEEE/System V math functions </H3><!--docid::SEC88::--><P><A NAME="IDX218"></A><A NAME="IDX219"></A><A NAME="IDX220"></A><A NAME="IDX221"></A></P><P>These functions are only available on platforms which provide the IEEE Mathlibrary (libm.a) and/or System V Math Library (libmsaa.a).  Apparently notall platforms provide all of these functions, so what you can use on yourplatform may be a subset of these.  If you choose to use one of thesefunctions, be aware that you may be limiting the portability of your code.</P><P><A NAME="IDX222"></A><A NAME="IDX223"></A></P><P>On some platforms, the preprocessor symbols <CODE>_XOPEN_SOURCE</CODE> and/or<CODE>_XOPEN_SOURCE_EXTENDED</CODE> need to be defined to use these functions.These symbols can be enabled by compiling with<CODE>-DBZ_ENABLE_XOPEN_SOURCE</CODE>.  (In previous version of Blitz++,<CODE>_XOPEN_SOURCE</CODE> and <CODE>_XOPEN_SOURCE_EXTENDED</CODE> were declared bydefault.  This was found to cause too many problems, so users must manuallyenable them with <CODE>-DBZ_ENABLE_XOPEN_SOURCE</CODE>.).</P><P>In the current version, Blitz++ divides these functions into two groups:IEEE and System V.  This distinction is probably artificial.  If one of thefunctions in a group is missing, Blitz++ won't allow you to use any of them.You can see the division of these functions in the files<TT>`Blitz++/compiler/ieeemath.cpp'</TT> and<TT>`Blitz++/compiler/sysvmath.cpp'</TT>.  This arrangement is unsatisfactoryand will probably change in a future version.</P><P>You may have to link with <CODE>-lm</CODE> and/or <CODE>-lmsaa</CODE> to use thesefunctions.</P><P>None of these functions are available for <CODE>complex&#60;T&#62;</CODE>.</P><P><DL COMPACT><DT><CODE>acosh()</CODE><DD><A NAME="IDX224"></A>Inverse hyperbolic cosine <P><DT><CODE>asinh()</CODE><DD><A NAME="IDX225"></A>Inverse hyperbolic sine <P><DT><CODE>atanh()</CODE><DD><A NAME="IDX226"></A>Inverse hyperbolic tangent <P><DT><CODE>_class()</CODE><DD><A NAME="IDX227"></A>Classification of floating point values.  The return type is integer andwill be one of: <P><DL COMPACT><DT><CODE>FP_PLUS_NORM</CODE><DD><A NAME="IDX228"></A>			Positive normalized, nonzero <P><DT><CODE>FP_MINUS_NORM</CODE><DD><A NAME="IDX229"></A>			Negative normalized, nonzero <P><DT><CODE>FP_PLUS_DENORM</CODE><DD><A NAME="IDX230"></A>			Positive denormalized, nonzero <P><DT><CODE>FP_MINUS_DENORM</CODE><DD><A NAME="IDX231"></A>			Negative denormalized, nonzero <P><DT><CODE>FP_PLUS_ZERO</CODE><DD><A NAME="IDX232"></A>			+0.0 <P><DT><CODE>FP_MINUS_ZERO</CODE><DD><A NAME="IDX233"></A>			-0.0 <P><DT><CODE>FP_PLUS_INF</CODE><DD><A NAME="IDX234"></A>			Positive infinity  <P><DT><CODE>FP_MINUS_INF</CODE><DD><A NAME="IDX235"></A>			Negative infinity <P><DT><CODE>FP_NANS</CODE><DD><A NAME="IDX236"></A>			Signalling Not a Number (NaNS) <P><DT><CODE>FP_NANQ</CODE><DD><A NAME="IDX237"></A>			Quiet Not a Number (NaNQ) </DL><P><DT><CODE>cbrt()</CODE><DD><A NAME="IDX238"></A>Cubic root <P><DT><CODE>expm1()</CODE><DD><A NAME="IDX239"></A>Computes exp(x)-1 <P><DT><CODE>erf()</CODE><DD><A NAME="IDX240"></A>Computes the error function:  @erf(x) = 2/sqrt(Pi) * integral(exp(-t^2), t=0..x)<P>Note that for large values of the parameter, calculating can result inextreme loss of accuracy.  Instead, use <CODE>erfc()</CODE>.</P><P><DT><CODE>erfc()</CODE><DD><A NAME="IDX241"></A>Computes the complementary error function <EM>erfc(x) = 1 - erf(x)</EM>.<P><DT><CODE>finite()</CODE><DD><A NAME="IDX242"></A>Returns a nonzero integer if the parameter is a finite number (i.e. not+INF, -INF, NaNQ or NaNS).<P><DT><CODE>ilogb()</CODE><DD><A NAME="IDX243"></A>Returns an integer which is equal to the unbiased exponent ofthe parameter.               <P><DT><CODE>blitz_isnan()</CODE><DD><A NAME="IDX244"></A><A NAME="IDX245"></A>Returns a nonzero integer if the parameter is NaNQ orNaNS (quiet or signalling Not a Number). <P><DT><CODE>itrunc()</CODE><DD><A NAME="IDX246"></A>Round a floating-point number to a signed integer.  Returnsthe nearest signed integer to the parameter in the direction of 0.<P><DT><CODE>j0()</CODE><DD><A NAME="IDX247"></A><A NAME="IDX248"></A>Bessel function of the first kind, order 0. <P><DT><CODE>j1()</CODE><DD><A NAME="IDX249"></A>Bessel function of the first kind, order 1. <P><DT><CODE>lgamma()</CODE><DD><A NAME="IDX250"></A><A NAME="IDX251"></A>Natural logarithm of the gamma function.  The gamma functionis defined as:Gamma(x) = integral(e^(-t) * t^(x-1), t=0..infinity))              <DT><CODE>logb()</CODE><DD><A NAME="IDX252"></A>Returns a floating-point double that is equal to the unbiasedexponent of the parameter. 

⌨️ 快捷键说明

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