Functional Fragments, Copyright (C) 1999, Marco Kesseler

Version 1.03, may 26, 2000

Functional Fragments is a set of Clean sources that I intend to
extend in due time. At the moment it consists of the following fragments:

- a huffman decoder
- a baseline jpeg decoder. This code has been partly based on Code by
  Jeroen Fokker, and partly on the Independent JPEG Group's JPEG software
  (written in C).
- A module for converting RGB and greyscale images to ppm/pgm (portable
  bitmap) format.
- An example program that converts jpeg images to portable bitmap format,
  including a test image.
- small support stuff

My main goal has been - and is - to have fun, and in the meantime produce
something that might be useful. I have tried to avoid serious performance
problems - in particular I have tried to keep memory requirements down -
but I have not gone at great lenghts to produce the fastest code possible,
because that could have hurt readability and flexibility.

If you like to contact me, please do so via the Clean discussion mailing list.
My e-mail address is not known to be very stable (I have had various during
the last few years, working for one company or another).

LEGAL ISSUES

In readable form:

1. I do not gurantee that this software actually works.
2. You can use this software for whatever you want, including commercial
   stuff.
3. You may not pretend that you wrote this software. If you use it in a
   program, you must acknowledge somewhere in your documentation that
   you've used code written by me.

In legalese:

I make NO WARRANTY or representation, either express or implied,
with respect to this software, its quality, accuracy, merchantability, or
fitness for a particular purpose.  This software is provided "AS IS", and you,
its user, assume the entire risk as to its quality and accuracy.

This software is copyright (C) 2000, Marco Kesseler
All Rights Reserved except as specified below.

Permission is hereby granted to use, copy, modify, and distribute this
software (or portions thereof) for any purpose, without fee, subject to these
conditions:
(1) If any part of the source code for this software is distributed, then this
    README file must be included, with this copyright and no-warranty notice
    unaltered; and any additions, deletions, or changes to the original files
    must be clearly indicated in accompanying documentation.
(2) If only executable code is distributed, then the accompanying
    documentation must state that "this software is based in part on the work of
    Marco Kesseler".
(3) Permission for use of this software is granted only if the user accepts
    full responsibility for any undesirable consequences; the author accepts
    NO LIABILITY for damages of any kind.

These conditions apply to any software derived from or based on the Functional
Fragments code, not just to the unmodified library. If you use my work, you
ought to acknowledge me.

Have fun,
Marco Kesseler
