FreeBSD Manual Pages
M_COMPLEX(3) BSD Library Functions Manual M_COMPLEX(3) NAME M_Complex -- Agar-Math complex number SYNOPSIS #include <agar/math.h> DESCRIPTION The M_Complex object describes a complex number (without requiring an ISO C90 compiler). It is a simple structure defined as: typedef struct m_complex { M_Real r; /* Real part */ M_Real i; /* "Imaginary" part */ } M_Complex; INITIALIZATION M_Complex M_ComplexGet(M_Real r, M_Real i) M_Complex M_ReadComplex(AG_DataSource *ds) void M_CopyComplex(AG_DataSource *ds, M_Complex *z) void M_WriteComplex(AG_DataSource *ds, M_Complex z) The M_ComplexGet() routine returns a M_Complex structure describing a complex number with real part r and imaginary part i. M_ComplexI() returns the complex number for i. M_ComplexMinusI() returns the complex number for -i. The M_ReadComplex() function reads a complex number from an AG_DataSource(3) and returns it. M_CopyComplex() returns the number in z. M_WriteComplex() writes a complex number to a data source. BASIC OPERATIONS M_Real M_ComplexReal(M_Complex z) M_Real M_ComplexImag(M_Complex z) M_Real M_ComplexModulus(M_Complex z) M_Real M_ComplexArg(M_Complex z) M_Complex M_ComplexAdditiveInverse(M_Complex z) M_Complex M_ComplexMultiplicativeInverse(M_Complex z) void M_ComplexPolar(M_Complex z, M_Real *r, M_Real *theta) The M_ComplexReal() routine extracts and return the real part of complex number z. M_ComplexImag() returns the imaginary part. M_ComplexModulus() returns the modulus of z, which is computed as sqrt(r^2 + i^2). M_ComplexArg() returns the argument of z, computed as atan2(i,r); M_ComplexAdditiveInverse() returns the additive inverse of z. M_ComplexMultiplicativeInverse() returns the multiplicative inverse of z. M_ComplexPolar() returns the polar form of z into r (corresponding to the modulus) and theta (corresponding to the argument). ARITHMETIC OPERATIONS M_Complex M_ComplexAdd(M_Complex a, M_Complex b) M_Complex M_ComplexSub(M_Complex a, M_Complex b) M_Complex M_ComplexMult(M_Complex a, M_Complex b) M_Complex M_ComplexDiv(M_Complex a, M_Complex b) M_Real M_ComplexAbs(M_Complex z) The M_ComplexAdd() routine returns the sum of complex numbers a and b. M_ComplexSub() returns the difference. M_ComplexMult() computes the product of complex numbers a and b. M_ComplexDiv() divides a by b and returns the result. The M_ComplexAbs() function computes the complex absolute value (i.e., sqrt(r^2 + i^2)). If the magnitude of either real or imaginary parts differs with zero up to 50% of machine precision, both parts are rescaled prior to squaring. M_ComplexSqrt() computes the complex square root of z. M_ComplexLog() computes the complex natural logarithm of z. M_ComplexExp() computes the exponential of z. M_ComplexPow() returns a raised to the complex power z. TRIGONOMETRIC AND HYPERBOLIC OPERATIONS M_Complex M_ComplexSin(M_Complex z) M_Complex M_ComplexCos(M_Complex z) M_Complex M_ComplexTan(M_Complex z) M_Complex M_ComplexCot(M_Complex z) M_Complex M_ComplexAsin(M_Complex z) M_Complex M_ComplexAcos(M_Complex z) M_Complex M_ComplexAtan(M_Complex z) M_Complex M_ComplexSinh(M_Complex z) M_Complex M_ComplexAsinh(M_Complex z) M_Complex M_ComplexCosh(M_Complex z) M_Complex M_ComplexAcosh(M_Complex z) M_Complex M_ComplexTanh(M_Complex z) M_Complex M_ComplexAtanh(M_Complex z) The M_ComplexSin() function returns the complex sine of z. M_ComplexCos() returns the complex cosine, M_ComplexTan() returns the complex tangent and M_ComplexCot() returns the complex cotangent. M_ComplexAsin(), M_ComplexAcos() and M_ComplexAtan() compute the complex arc sine, arc cosine and arc tangent of z, respectively. M_ComplexSinh(), M_ComplexAsinh(), M_ComplexCosh(), M_ComplexAcosh(), M_ComplexTanh(), M_ComplexAtanh() compute the complex hyperbolic sine, arc sine, cosine, arc cosine, tangent and arc tangent of z, respectively. SEE ALSO AG_DataSource(3), AG_Intro(3), M_Matrix(3), M_Quaternion(3), M_Real(3), M_Vector(3) HISTORY The M_Complex structure first appeared in Agar 1.3.4. BSD July 14, 2009 BSD
NAME | SYNOPSIS | DESCRIPTION | INITIALIZATION | BASIC OPERATIONS | ARITHMETIC OPERATIONS | TRIGONOMETRIC AND HYPERBOLIC OPERATIONS | SEE ALSO | HISTORY
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=M_Complex&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>