Skip to content

Files

Latest commit

Feb 3, 2018
db8d977 · Feb 3, 2018

History

History
119 lines (97 loc) · 4.61 KB

cordic.md

File metadata and controls

119 lines (97 loc) · 4.61 KB

CORDIC
Approximation of Elementary Functions {#cordic-approximation-of-elementary-functions align="center"}


CORDIC is a C++ library which uses the CORDIC algorithm to evaluate certain functions, in particular the sine and cosine.

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"}

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

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

FN, a C++ library which contains routines by Wayne Fullerton for evaluating elementary and special functions.

POLPAK, a C++ library which evaluates recursively defined polynomials and other special functions.

SPECFUN, a FORTRAN90 library which evaluates certain special functions using fitted data.

TEST_VALUES, a C++ library which returns some tabulated values of various functions.

Reference: {#reference align="center"}

  1. Pitts Jarvis,
    Implementing CORDIC Algorithms,
    Dr. Dobb's Journal,
    October 1990.
  2. Jean-Michel Muller,
    Elementary Functions: Algorithms and Implementation,
    Second Edition,
    Birkhaeuser, 2006,
    ISBN13: 978-0-8176-4372-0,
    LC: QA331.M866.
  3. Allan Sultan,
    CORDIC: How Hand Calculators Calculate,
    The College Mathematics Journal,
    Volume 40, Number 2, March 2009, pages 87-92.
  4. Jack Volder,
    The CORDIC Computing Technique,
    IRE Transactions on Electronic Computers,
    Volume 8, Number 3, pages 330-334, 1959.
  5. Jack Volder,
    The Birth of CORDIC,
    Journal of VLSI Signal Processing Systems,
    Volume 25, Number 2, pages 101-105, June 2000.
  6. Anthony Williams,
    Optimizing Math-Intensive Applications with Fixed-Point Arithmetic,
    Dr Dobb's Journal,
    Volume 33, Number 4, April 2008, pages 38-43.

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

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

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

  • ANGLE_SHIFT shifts angle ALPHA to lie between BETA and BETA+2PI.
  • ARCCOS_CORDIC returns the arccosine of an angle using the CORDIC method.
  • ARCCOS_VALUES returns some values of the arc cosine function.
  • ARCSIN_CORDIC returns the arcsine of an angle using the CORDIC method.
  • ARCSIN_VALUES returns some values of the arc sine function.
  • ARCTAN_CORDIC returns the arctangent of an angle using the CORDIC method.
  • ARCTAN_VALUES returns some values of the arc tangent function.
  • CBRT_CORDIC returns the cube root of a value using the CORDIC method.
  • CBRT_VALUES returns some values of the cube root function.
  • COS_VALUES returns some values of the cosine function.
  • COSSIN_CORDIC returns the sine and cosine of an angle by the CORDIC method.
  • EXP_CORDIC evaluates the exponential function using the CORDIC method.
  • EXP_VALUES returns some values of the exponential function.
  • I4_HUGE returns a "huge" I4.
  • I4_MIN returns the minimum of two I4's.
  • LN_CORDIC evaluates the natural logarithm using the CORDIC method.
  • LN_VALUES returns some values of the natural logarithm function.
  • R8_UNIFORM_01 returns a unit pseudorandom R8.
  • SIN_VALUES returns some values of the sine function.
  • SQRT_CORDIC returns the square root of a value using the CORDIC method.
  • SQRT_VALUES returns some values of the square root function.
  • TAN_CORDIC returns the tangent of an angle using the CORDIC method.
  • TAN_VALUES returns some values of the tangent function.
  • TIMESTAMP prints the current YMDHMS date as a time stamp.

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


Last modified on 23 June 2007.