Skip to content

Latest commit

 

History

History
174 lines (150 loc) · 7.99 KB

c4lib.md

File metadata and controls

174 lines (150 loc) · 7.99 KB

C4LIB
A Single Precision Complex Arithmetic Utility Library {#c4lib-a-single-precision-complex-arithmetic-utility-library align="center"}


C4LIB is a C++ library which defines some elementary operations for "C4" or "single precision complex" arithmetic.

Licensing: {#licensing align="center"}

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages: {#languages align="center"}

C4LIB is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Programs: {#related-programs align="center"}

C4_COMPLEX_LIB, a C++ library which defines a class called c4_complex for complex numbers with single precision components.

C8LIB, a C++ library which implements certain elementary functions for "C8" or double precision complex variables;

COMPLEX_NUMBERS, a C++ program which demonstrates some simple features involved in the use of complex numbers in C programming.

I4LIB, a C++ library which contains many utility routines, using "I4" or "single precision integer" arithmetic.

I8LIB, a C++ library which contains many utility routines, using "I8" or "double precision integer" arithmetic.

L4LIB, a C++ library which contains many utility routines, using one byte logical (L4) variables.

R4LIB, a C++ library which contains many utility routines, using "R4" or "single precision real" arithmetic.

R8LIB, a C++ library which contains many utility routines, using "R8" or "double precision real" arithmetic.

Source Code: {#source-code align="center"}

Examples and Tests: {#examples-and-tests align="center"}

List of Routines: {#list-of-routines align="center"}

  • C4_ABS returns the absolute value of a C4.
  • C4_ACOS evaluates the inverse cosine of a C4.
  • C4_ACOSH evaluates the inverse hyperbolic cosine of a C4.
  • C4_ADD adds two C4's.
  • C4_ARG returns the argument of a C4.
  • C4_ASIN evaluates the inverse sine of a C4.
  • C4_ASINH evaluates the inverse hyperbolic sine of a C4.
  • C4_ATAN evaluates the inverse tangent of a C4.
  • C4_ATANH evaluates the inverse hyperbolic tangent of a C4.
  • C4_CONJ conjugates a C4.
  • C4_COPY copies a C4.
  • C4_COS evaluates the cosine of a C4.
  • C4_COSH evaluates the hyperbolic cosine of a C4.
  • C4_CUBE_ROOT returns the principal cube root of a C4.
  • C4_DIV divides two C4's.
  • C4_DIV_R4 divides a C4 by an R4.
  • C4_EXP exponentiates a C4.
  • C4_I returns the value of the imaginary unit, i as a C4.
  • C4_IMAG returns the imaginary part of a C4.
  • C4_INV inverts a C4.
  • C4_LE_L1 := X <= Y for C4 values, and the L1 norm.
  • C4_LE_L2 := X <= Y for C4 values, and the L2 norm.
  • C4_LE_LI := X <= Y for C4 values, and the L-oo norm.
  • C4_LOG evaluates the logarithm of a C4.
  • C4_MAG returns the magnitude of a C4.
  • C4_MUL multiplies two C4's.
  • C4_NEG negates a C4.
  • C4_NINT returns the nearest complex integer of a C4.
  • C4_NORM_L1 evaluates the L1 norm of a C4.
  • C4_NORM_L2 evaluates the L2 norm of a C4.
  • C4_NORM_LI evaluates the L-oo norm of a C4.
  • C4_NORMAL_01 returns a unit pseudonormal C4.
  • C4_ONE returns the value of complex 1.
  • C4_PRINT prints a C4.
  • C4_REAL returns the real part of a C4.
  • C4_SIN evaluates the sine of a C4.
  • C4_SINH evaluates the hyperbolic sine of a C4.
  • C4_SQRT returns the principal square root of a C4.
  • C4_SUB subtracts two C4's.
  • C4_SWAP swaps two C4's.
  • C4_TAN evaluates the tangent of a C4.
  • C4_TANH evaluates the hyperbolic tangent of a C4.
  • C4_TO_CARTESIAN converts a C4 to Cartesian form.
  • C4_TO_POLAR converts a C4 to polar form.
  • C4_UNIFORM_01 returns a unit pseudorandom C4.
  • C4_ZERO returns the value of 0 as a C4.
  • C4MAT_ADD combines two C4MAT's using complex scalar factors.
  • C4MAT_ADD_R4 combines two C4MAT's using real scalar factors.
  • C4MAT_COPY copies one C4MAT to another.
  • C4MAT_COPY_NEW copies one C4MAT to a "new" C4MAT.
  • C4MAT_FSS factors and solves a system with multiple right hand sides.
  • C4MAT_FSS_NEW factors and solves a system with multiple right hand sides.
  • C4MAT_IDENTITY_NEW sets a C4MAT to the identity.
  • C4MAT_INDICATOR_NEW returns the C4MAT indicator matrix.
  • C4MAT_MINVM returns inverse(A) * B for C4MAT's.
  • C4MAT_MINVM_NEW returns inverse(A) * B for C4MAT's.
  • C4MAT_MM multiplies two matrices.
  • C4MAT_MM_NEW multiplies two matrices.
  • C4MAT_NINT rounds the entries of a C4MAT.
  • C4MAT_NORM_FRO returns the Frobenius norm of a C4MAT.
  • C4MAT_NORM_L1 returns the matrix L1 norm of a C4MAT.
  • C4MAT_NORM_LI returns the matrix L-oo norm of a C4MAT.
  • C4MAT_PRINT prints a C4MAT.
  • C4MAT_PRINT_SOME prints some of a C4MAT.
  • C4MAT_SCALE scales a C4MAT by a complex scalar factor.
  • C4MAT_SCALE_R4 scales a C4MAT by a real scalar factor.
  • C4MAT_UNIFORM_01 returns a unit pseudorandom C4MAT.
  • C4MAT_UNIFORM_01_NEW returns a new unit pseudorandom C4MAT.
  • C4MAT_ZERO_NEW returns a new zeroed C4MAT.
  • C4VEC_COPY copies a C4VEC.
  • C4VEC_COPY_NEW copies a C4VEC to a "new" C4VEC.
  • C4VEC_INDICATOR_NEW sets a C4VEC to the indicator vector.
  • C4VEC_NINT rounds the entries of a C4VEC.
  • C4VEC_NORM_L2 returns the L2 norm of a C4VEC.
  • C4VEC_PRINT prints a C4VEC.
  • C4VEC_PRINT_PART prints "part" of a C4VEC.
  • C4VEC_PRINT_SOME prints some of a C4VEC.
  • C4VEC_SORT_A_L2 ascending sorts a C4VEC by L2 norm.
  • C4VEC_SPIRAL returns N points on a spiral between C1 and C2.
  • C4VEC_UNIFORM_01 returns a unit pseudorandom C4VEC.
  • C4VEC_UNIFORM_01_NEW returns a unit pseudorandom C4VEC.
  • C4VEC_UNITY returns the N roots of unity in a C4VEC.
  • CARTESIAN_TO_C4 converts a Cartesian form to a C4.
  • I4_MAX returns the maximum of two I4's.
  • I4_MIN returns the minimum of two I4's.
  • POLAR_TO_C4 converts a polar form to a C4.
  • R4_ABS returns the absolute value of an R4.
  • R4_CSQRT returns the complex square root of an R4.
  • R4_FLOOR rounds an R4 "down" (towards -oo) to the next integer.
  • R4_MAX returns the maximum of two R4's.
  • R4_NINT returns the nearest integer to an R4.
  • R4_SIGN returns the sign of an R4.
  • R4_UNIFORM_01 returns a unit pseudorandom R4.
  • R4POLY2_ROOT returns the two roots of a quadratic polynomial.
  • R4POLY3_ROOT returns the three roots of a cubic polynomial.
  • R4POLY4_ROOT returns the four roots of a quartic polynomial.
  • SORT_HEAP_EXTERNAL externally sorts a list of items into ascending order.
  • TIMESTAMP prints the current YMDHMS date as a time stamp.

You can go up one level to the C++ source codes.


Last revised on 10 March 2014.