/* DEC.H - Interface to decoding procedures. */ /* Copyright (c) 2000, 2001 by Radford M. Neal * * Permission is granted for anyone to copy, use, modify, or distribute this * program and accompanying programs and documents for any purpose, provided * this copyright notice is retained and prominently displayed, along with * a note saying that the original programs are available from Radford Neal's * web page, and note is made of any changes made to the programs. The * programs and documents are distributed without any warranty, express or * implied. As the programs were written for research purposes only, they have * not been tested to the degree that would be advisable in any important * application. All use of these programs is entirely at the user's own risk. */ /* DECODING METHOD, ITS PARAMETERS, AND OTHER VARIABLES. The global variables declared here are located in dec.c. */ typedef enum { Enum_block, Enum_bit, Prprp } decoding_method; extern decoding_method dec_method; /* Decoding method to use */ extern int table; /* Trace option, 2 for a table of decoding details */ extern int block_no; /* Number of current block, from zero */ extern int max_iter; /* Maximum number of iteratons of decoding to do */ extern char *gen_file; /* Generator file for Enum_block and Enum_bit */ /* PROCEDURES RELATING TO DECODING METHODS. */ void enum_decode_setup (void); unsigned enum_decode (double *, char *, double *, int); void prprp_decode_setup (void); unsigned prprp_decode (mod2sparse *, double *, char *, char *, double *); void initprp (mod2sparse *, double *, char *, double *); void iterprp (mod2sparse *, double *, char *, double *);