Unit complex |
**********Complex arithmetic in Delphi************} {* (c) 1997 Bjoern Ischo & Stephen C. Ferguson *} {* *} {*Based upon COMPLEX.H header file by Louis Baker in*} {* Handbook of C tools for Scientists and Engineers *} {****************************************************} {Any comments and suggestions are welcome; please send then to: bischo6639@aol.com (Bjoern) OR itriazon@gte.net (Stephen) 24.Nov 97: first alpha, Bjoern added cmulti,cadd,csub
Classes |
Functions |
cadd - multiplication cmplx*real
function cmulti_CR(z_:tcomplex;r1:float):tcomplex
cadd_CR - addition
function cadd(xz,yz:tcomplex):tcomplex;
ccos - complex exponent
function ccos(z_:tcomplex):tcomplex;
cdin - drn
function cdrn(xz,yz:tcomplex):float;
cdiv - cdin
function cdin(xz,yz:tcomplex):float;
cdrn - norm
function cnorm(z_:tcomplex):float;
cexp - complex natural logarythm
function clog(z_:tcomplex):tcomplex;
cintdiv_CR -
cintdiv_RC - rather simple integer power for complex
function cintpower(z_:tcomplex;i1:integer):tcomplex;
cintpower - complex cosinus
function ccos(z_:tcomplex):tcomplex;
clog - complex div
function csub(xz,yz:tcomplex):tcomplex;
cmagnitude - multiplication of real part
function cmulti_real(z,z2:tcomplex):float;
cmplx -
cmulti - magnitude
function cmulti_imag(z,z2:tcomplex):float;
cmulti_CR - multiplication
function cmulti(xz,yz:tcomplex):tcomplex;
cmulti_imag - multiplication of real part
function cmagnitude(z:tcomplex):float;
cmulti_real - x->real y->imaginary
opcode for FCOS
cnorm - subtraction cmlpx-real
function csub_CR(z_:tcomplex;r1:float):tcomplex;
csin - complex sinus
function clog(z_:tcomplex):tcomplex;
csub - addition cmplx+real
function cadd_CR(z_:tcomplex;r1:float):tcomplex;
csub_CR - subtraction
function csub(xz,yz:tcomplex):tcomplex;
fastcos - opcode for FSIN
fastsin - when we need an instant cmplx number; FAST! stuff:
Gamma function for small values of the argument
GamSmall - additional thingys:
Types |
Constants |
Variables |
Functions |
function cmulti_CR(z_:tcomplex;r1:float):tcomplex
function cadd(xz,yz:tcomplex):tcomplex;
function ccos(z_:tcomplex):tcomplex;
function cdrn(xz,yz:tcomplex):float;
function cdin(xz,yz:tcomplex):float;
function cnorm(z_:tcomplex):float;
function clog(z_:tcomplex):tcomplex;
function cintpower(z_:tcomplex;i1:integer):tcomplex;
function ccos(z_:tcomplex):tcomplex;
function csub(xz,yz:tcomplex):tcomplex;
function cmulti_real(z,z2:tcomplex):float;
function cmulti_imag(z,z2:tcomplex):float;
function cmulti(xz,yz:tcomplex):tcomplex;
function cmagnitude(z:tcomplex):float;
function csub_CR(z_:tcomplex;r1:float):tcomplex;
function clog(z_:tcomplex):tcomplex;
function cadd_CR(z_:tcomplex;r1:float):tcomplex;
function csub(xz,yz:tcomplex):tcomplex;
Gamma function for small values of the argument
Types |
float = doubleCompiler Directives - we want it fast!
tcomplex = recorddouble should be fine for most calculations extended is more precise, but slower
x : float;
y : float;
end;
Constants |
Variables |