00001 /*************************************************************************** 00002 arithdefs.h - Definitions for arithmetic coding. 00003 ------------------- 00004 begin : June 21 2002 00005 copyright : (C) 2003 by Vojtìch Toman 00006 email : vtoman@lit.cz 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 /* Based on code by: */ 00019 00020 /*************************************************************************** 00021 Authors: John Carpenelli (johnfc@ecr.mu.oz.au) 00022 Wayne Salamonsen (wbs@mundil.cs.mu.oz.au) 00023 00024 Purpose: Data compression using a word-based model and revised 00025 arithmetic coding method. 00026 00027 Based on: A. Moffat, R. Neal, I.H. Witten, "Arithmetic Coding Revisited", 00028 Proc. IEEE Data Compression Conference, Snowbird, Utah, 00029 March 1995. 00030 00031 00032 Copyright 1995 John Carpinelli and Wayne Salamonsen, All Rights Reserved. 00033 00034 These programs are supplied free of charge for research purposes only, 00035 and may not sold or incorporated into any commercial product. There is 00036 ABSOLUTELY NO WARRANTY of any sort, nor any undertaking that they are 00037 fit for ANY PURPOSE WHATSOEVER. Use them at your own risk. If you do 00038 happen to find a bug, or have modifications to suggest, please report 00039 the same to Alistair Moffat, alistair@cs.mu.oz.au. The copyright 00040 notice above and this statement of conditions must remain an integral 00041 part of each and every copy made of these files. 00042 ****************************************************************************/ 00043 00044 00052 #ifndef ARITHDEFS_H 00053 #define ARITHDEFS_H 00054 00055 00056 00057 #include "defs.h" 00058 00059 00060 00061 // *** USER ADJUSTABLE PARAMETERS *** 00062 00063 00064 00070 typedef unsigned long CodeValue; 00071 00072 00078 typedef unsigned long FreqValue; 00079 00080 00086 typedef unsigned long DivValue; 00087 00088 00089 00095 #define MAX_BITS_OUTSTANDING ((unsigned long)1<<31) 00096 00097 00098 00099 // *** END USER ADJUSTABLE PARAMETERS *** 00100 00101 00102 #endif //ARITHDEFS_H