Short: 1D, 2D, Cosine Transforms and Inverse. Author: wisecracker.bazza@gmail.com (Barry_Walker, G0LCU) Uploader: wisecracker bazza gmail com (Lincs Amiga Group, LAG) Type: dev/src Version: 0.10.00 Architecture: m68k-amigaos; generic Distribution: Aminet ============================================================================ Architectures: Classic AMIGA A1200(HD), FS-UAE on OSX 10.15.x and Mint 22.3. ---------------------------------------------------------------------------- MINIMUM Requirements Are:- -------------------------- Amiga environment:- ------------------- Classic STOCK AMIGA A1200(HD), default OS3.0x install. FS-UAE on Intel APPLE OSX 10.15.x and GNU/Linux Mint Cinnamon 22.3. Standard default AMIGA OS_3.0.x install, or better still a highly expanded AMIGA with extra RAM will speed things up considerably. Python Version 1.4.0 on Classic AMIGA A1200(HD) OS3.0x:- https://aminet.net/package/dev/lang/Python_14 This version that requires no extra hardware:- 'python_020_ieee' Python Version 1.5.2 to 2.0.1 on '030+ highly expanded AMIGAs OS3.0x. AmigaMicropython340 on Classic AMIGA A1200(HD) OS3.0x. https://aminet.net/package/dev/misc/AmigaMicropython Also as a matter of interest these Python scripts also work inside the excellent ADE, the *NIX emulation, but the STOCK AMIGA A1200(HD) needs at least an extra 4MB of FastRAM to do so:- https://aminet.net/package/dev/gcc/ADE ---------------------------------------------------------------------------- Other environments:- -------------------- Any Python version from 2.x.x to 3.15.0b3 on Intel APPLE OSX 10.15.7. Any Python Version from 1.3.0 to 3.12.x on GNU/LINUX MINT CINNAMON 22.3. It has NOT been tested on WinUAE emulation of the above, Windows, and WSL[-2], with a Python Version installed. It has NOT been tested on any 'M' series APPLE gear either. It would be nice to know if they do work, along with a snapshot of the FCT_LEE.py version running, along with the Python Version running it and sent to my email addy above... TIA... ============================================================================ History:- --------- 25-07-2026. ----------- Version 0.10.00. Added a 2 Dimension Cosine Transform and its Inverse. Also images to show they work. They are technically JPEG compatible using "scipy's" "norm='ortho'" method. This is VERY naive and has 4 nested 'for' loops in the Transform and 4 nested 'for' loops in its Inverse, so don't expect lightning speed... (Now working on a DCT-II, 1D transposing method for a 2D transform.) 10-07-2026. ----------- Version 0.01.00. This version now includes, Byeong Gi Lee's, RADIX-2, Fast Cosine Transform. Again, naive, unnormalised, and conforming to scipy's default of, 'type=2'; "norm=None", or, "norm='backward'". (Added Intel APPLE pics of Python Version 3.15.0b3 running these first two uploads.) (Total 346 DLs on 25-07-2026.) 25-06-2026. ----------- Version 0.00.10. Taster upload to see if people are interested. The archive is (C)2026, Barry Walker, and issued as PD, Creative Commons CC0 licence. (132 DLs on 10-07-2026.) ============================================================================ General:- --------- (Apologies for any typos, etc...) The Discrete Cosine Transform is probably one of the most important algorithms developed in modern history. See the 'The_Cosine_Transform.txt' for more information. As is normal for me nowadays I post code recipes that work on ancient versions of current languages that the AMIGA has in the AMINET archive. In this case Python 1.4.0 for an absolutely STOCK AMIGA A1200(HD). These recipes are designed to work on _ALL_ platforms and Python Versions from at least, (1.3.0)-1.4.0 to 3.13.x without ANY modification at all. Now tested on Intel, APPLE OSX 10.15.7, Python Version 3.15.0b3, as of 25-07-2026, see photos. Now working on a naive 1D to 2D Discrete Cosine Transform using a 1D DCT-II transposing method; adding some more images too. ---------------------------------------------------------------------------- In ALL of the images you will notice that the floating point resolution/precision has increased from very early to later and current versions of Python. ---------------------------------------------------------------------------- !!! REMEMBER !!! ---------------- The Classic AMIGA does not have the luxuries of the current, (as of the above date), Python Version 3.15.0b3 and its massive (C)2026_Pytho[-]System, so these recipes might help towards using what we have and inspiring others to add to them. They can be anything, not just mathematics. (Also 'numpy' arrays are not like Python 'list' type arrays, so be aware!) The difficulty is learning and memorising _ALL_ of the differences between Python Versions, 1.3.0 to 3.15.0b3; there are a great many, believe me! (Creating workarounds has become second nature to me nowadays.) This also applies to other languages in the AMINET ecosystem. ============================================================================ IMPORTANT:- ----------- The Legal Stuff:- ----------------- 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:- -------------------- Classic STOCK AMIGA A1200(HD). FS-UAE emulation of Classic AMIGA test conditions were/are running standard OS 3.0.x and using standard ~topaz 8~ fonts throughout. I have no idea what strange configuration setups will create so refer to the ~The Legal Stuff~ above. The whole archive was centred around the AMIGA! APPLE OSX 10.15.x and MY Linux flavour were included to make the code as universal as possible without any modification at all. ============================================================================ Barry Walker, G0LCU. wisecracker.bazza@gmail.com ---------------------------------------------------------------------------- A place to visit, literally and URL wise:- https://lincsamiga.org.uk/wordpress/ ---------------------------------------------------------------------------- A very useful HardWare related site, (C) Anthony Hoffman, for modifications, schematics, repairs and the like is:- http://amiga.serveftp.net/ ============================================================================