Module Name: src Committed By: isaki Date: Fri Apr 19 13:31:11 UTC 2013
Modified Files: src/sys/arch/m68k/fpe: files.fpe fpu_emulate.h fpu_hyperb.c fpu_trig.c Added Files: src/sys/arch/m68k/fpe: fpu_cordic.c Log Message: Introduce the CORDIC algorithm. o sine and cosine (e.g., FSIN, FCOS and FSINCOS instructions) is now calculated in the CORDIC instead of Taylor expansion. o tangent (FTAN) is not touched from a viewpoint of the code size. o The CORDIC is applicable for hyperbolic functions (e.g., FSINH, FCOSH, FTANH instructions), but I didn't use it because its working range is poor. o The CORDIC is also usable for inverse trigonometric functions, I will commit it at next phase. o The code size becomes a bit big. I cannot evaluate speed on m68k for some reasons, but in test on i386 the CORDIC is approximately 100 times faster in sin/cos. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/m68k/fpe/files.fpe cvs rdiff -u -r0 -r1.1 src/sys/arch/m68k/fpe/fpu_cordic.c cvs rdiff -u -r1.23 -r1.24 src/sys/arch/m68k/fpe/fpu_emulate.h cvs rdiff -u -r1.8 -r1.9 src/sys/arch/m68k/fpe/fpu_hyperb.c cvs rdiff -u -r1.10 -r1.11 src/sys/arch/m68k/fpe/fpu_trig.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.