Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
M_COMPLEX(3)		     Library Functions Manual		    M_COMPLEX(3)

NAME
     M_Complex -- Agar-Math complex number

SYNOPSIS
     #include <agar/core.h>
     #include <agar/gui.h>
     #include <agar/math/m.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  com-
     plex 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_Data-
     Source(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_Com-
     plexDiv() 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  dif-
     fers  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.

Agar 1.7			December 21, 2022		    M_COMPLEX(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=M_Complex&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help