Distribution: AMINET, Public Domain, (Creative Commons CC0 licence).
============================================================================
Architectures: Classic AMIGAs, FS-UAE, OSX 10.15.7, Linux Mint 21.3.
--------------------------------------------------------------------
MINIMUM Requirements Are:-
--------------------------
1) Amiga environment:-
Stock AMIGA 1200 with HDD and 4MB FastRAM.
(Extra memory is always useful, but not needed; it will run much
faster however with more FastRAM and expansion cards).
FS-UAE on OSX 10.15.7 and Linux Mint 20.3.
Standard AMIGA OS_3.0.x install or better.
2) Apple OSX 10.15.7 and higher using default Python 2.7.x, 3.5.2. 3.8.x,
3.9.x and 3.10.4, and the default Perl version.
3) Linux Mint 20.3, Python 2.7.x and 3.8.x, and the default Perl version.
(Not tested on Windows and/or WinUAE but they should work.)
----------------------------------------------------------------------------
History:-
---------
24-06-2023, definitely the final upload.
----------------------------------------
Vsersion 1.02.00: Added an FFT in C++, pre-c++98 issue, but still compiles
on current C++ compilers as well as for the AMIGA/ADE
combination and g++ of its gcc 2.95.3 suite.
13-08-2022, the final upload.
-----------------------------
Version 1.01.00: Added IDFT_BWBasic.bas, DFT_CMATH.pl, DFT_MATH.pl, DFT.pl,
and corrected some '.readme' files.
DFT_Python_1.4.0.py is working again correctly as I
commented out 'REAL_LIST' by accident.
C_ASM drawer contains Assembly soruces from the two C
compilers, GCC and VBCC.
(Added 178 extra DLs.)
17-05-2022.
-----------
Version 1.00.20: Replaces dev/src/DFT_IDFT_DWT_FFT.lha because of LHA
archiving bug. LHA has date stamp errors...
(Added 78 extra DLs.)
16-05-2022.
-----------
Version 1.00.10. Added four Inverse Discrete Fourier Transforms.
(34 extra DLs.)
21-01-2022.
-----------
Version 1.00.00. Various Fourier Transforms and a very basic 1D Haar
Discrete Wavelet Transform in there too.
(117 Dls before new release.)
----------------------------------------------------------------------------
DFT - Discrete Fourier Transform.
IDFT - Inverse Discrete Fourier Transform.
DWT - Discrete (Haar) Wavelet Transform, (1 Dimension).
FFT - Fast Fourier Transform - NOT Finite Fourier Transform.
!!! IMPORTANT !!!
-----------------
Although I use RADIX 2 for the DFTs, this is NOT strictly a requirement!
RADIX 2, (power of 2), is an obsession of mine.
However, the FFTs in this archive _MUST_ be of RADIX 2!
The DFTs Real data lengths can be anything except the minimum; IF,
Imaginary data is available also, then these _MUST_ be of equal length
as the Real data available.
----------------------------------------------------------------------------
Other minimum requirements depending on what you decide to use:-
----------------------------------------------------------------
Python Version 1.4.0, absolute minimum:-
http://aminet.net/package/dev/lang/Python_14
AND/OR for highly expanded AMIGAs...
http://aminet.net/package/dev/lang/Python20
Perl Version 5.7.1 minimum:-
http://aminet.net/package/dev/gg/perl571
ADE Version 2.95.3, (the *NIX environment) minimum:-
http://aminet.net/package/dev/gcc/ADE
Matching ixemul-48.0 minimum:-
http://aminet.net/package/util/libs/ixemul-48.0
VBCC C Compiler, $VER: vbcc 0.810 (05.06.2006) minimum:-
http://aminet.net/package/dev/c/vbcc_bin_amigaos68k
http://aminet.net/package/dev/c/vbcc_target_m68k-amiga
The archive below has been deleted by someone and was NOT his to delete!
BWBasic Version 1.11:-
http://aminet.net/package/dev/lang/bwbasic111
----------------------------------------------------------------------------
General:-
---------
A few code recipes to show how to work around the serious limitations of
the AMIGA and once capable software.
From these recipes you now have the building blocks to improve and modify
to your hearts desire.
DFT_ARexx.rexx is of absolutely no use at all practically but shows with
a little thought one can get around such limitations.
I try to make everything work for the AMIGA to current technology without
modification and apart from the 'AMIGA_ONLY' section is successful.
You would be surprised at the differences of gcc 2.95.3 to the current
ones in use and Python 1.4.0 to at least 3.10.4.
The 'DFT_DWT_FFT_ALL' section contains code that works for _ALL_
platforms including the AMIGA A1200(HD).
IMPORTANT NOTE: I take no credit for the PERL FFT code recipe at all,
read the files for more information!
The 'NOT_AMIGA' section contains some of my experiments for other more
modern platforms.
Although I have quoted that the IDFTs and DFTs should be of length RADIX 2
this is really not the case as technically the REAL, (AND IMAGINARY), data
lengths can be arbitrary so long as both are the same length each.
Enjoy...
Bazza...
----------------------------------------------------------------------------
This archive is issued under the Creative Commons, CC0 Licence.
That is:- Public Domain.
----------------------------------------------------------------------------
IMPORTANT:-
-----------
The Legal Stuff:-
-----------------
This archive is CC0 licenced.
The authors are not responsible for any damage to, or loss of, or
failure of equipment or data caused in any way by the use of this code.
There is NO warranty with the use of this software release and
YOU USE IT AT YOUR OWN RISK.
----------------------------------------------------------------------------
Testing Evaluation:-
--------------------
FS-UAE and Classic AMIGA test conditions were/are running standard
OS 3.0.x and using standard ~topaz 8~ fonts throughout. The minimum
hardware requirements ARE needed however.
I have no idea what strange configuration setups will create so refer
to the ~The Legal Stuff~ above.
----------------------------------------------------------------------------
Barry Walker, G0LCU.
----------------------------------------------------------------------------
A very useful HardWare related site, (C) Anthony Hoffman, for
modifications, schematics, repairs and the like is:-
http://amiga.serveftp.net/
============================================================================
|