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.
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”}
- Pitts Jarvis,\
Implementing CORDIC Algorithms,\
Dr. Dobb’s Journal,\
October 1990.
- Jean-Michel Muller,\
Elementary Functions: Algorithms and Implementation,\
Second Edition,\
Birkhaeuser, 2006,\
ISBN13: 978-0-8176-4372-0,\
LC: QA331.M866.
- Allan Sultan,\
CORDIC: How Hand Calculators Calculate,\
The College Mathematics Journal,\
Volume 40, Number 2, March 2009, pages 87-92.
- Jack Volder,\
The CORDIC Computing Technique,\
IRE Transactions on Electronic Computers,\
Volume 8, Number 3, pages 330-334, 1959.
- Jack Volder,\
The Birth of CORDIC,\
Journal of VLSI Signal Processing Systems,\
Volume 25, Number 2, pages 101-105, June 2000.
- 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.