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/

============================================================================

