CORDIC
Approximation of Elementary Functions
CORDIC
is a MATLAB library which
uses the CORDIC algorithm to evaluate
certain functions, in particular the sine and cosine.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
CORDIC is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.
Related Data and Programs:
cordic_test
FN,
a MATLAB library which
approximates elementary and special functions using Chebyshev polynomials,
by Wayne Fullerton.
POLPAK,
a MATLAB library which
evaluates a variety of mathematical functions.
SPECFUN,
a FORTRAN90 library which
evaluates certain special functions
using fitted data.
TEST_VALUES,
a MATLAB library which
returns some tabulated values of various functions.
Reference:
-
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:
-
angle_shift.m,
shifts an angle so it lies between BETA and BETA+2*PI.
-
arccos_cordic.m,
computes the arccosine, using the CORDIC method.
-
arccos_values.m,
returns some tabulated values of the arccosine function.
-
arcsin_cordic.m,
computes the arcsine, using the CORDIC method.
-
arcsin_values.m,
returns some tabulated values of the arcsine function.
-
arctan_cordic.m,
computes the arctangent, using the CORDIC method.
-
arctan_values.m,
returns some tabulated values of the arctangent function.
-
cbrt_cordic.m,
estimates the cube root function using the CORDIC algorithm.
-
cbrt_values.m,
returns some tabulated values of the cube root function.
-
cos_values.m,
returns some tabulated values of the cosine function.
-
cossin_cordic.m,
computes the cosine and sine of an angle,
using the CORDIC method.
-
exp_cordic.m,
computes the exponential function,
using the CORDIC method.
-
exp_values.m,
returns some tabulated values of the exponential function.
-
log_cordic.m,
computes the natural logarithm function,
using the CORDIC method.
-
log_values.m,
returns some tabulated values of the natural logarithm function.
-
multiply_cordic.m,
computes Z=X*Y using the CORDIC algorithm.
-
r8_uniform_01.m,
returns a unit pseudorandom value.
-
sin_values.m,
returns some tabulated values of the sine function.
-
sqrt_cordic.m,
estimates the square root function using the CORDIC algorithm.
-
sqrt_values.m,
returns some tabulated values of the square root function.
-
tan_cordic.m,
computes the tangent of an angle,
using the CORDIC method.
-
tan_values.m,
returns some tabulated values of the tangent function.
-
timestamp.m,
prints the current YMDHMS date as a time stamp.
Last modified on 06 December 2018.