mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6437 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/* DISTRIB.H - Interface to module for handling distributions over numbers. */
 | 
						|
 | 
						|
/* Copyright (c) 1995-2012 by Radford M. Neal and Peter Junteng Liu.
 | 
						|
 *
 | 
						|
 * Permission is granted for anyone to copy, use, modify, and distribute
 | 
						|
 * these programs and accompanying documents for any purpose, provided
 | 
						|
 * this copyright notice is retained and prominently displayed, and note
 | 
						|
 * is made of any changes made to these programs.  These 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.
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
/* DATA STRUCTURES USED TO STORE A DISTRIBUTION LIST.  Entries in the list 
 | 
						|
 * (distrib_entry) are stored in an array (distrib->list[]). */
 | 
						|
 | 
						|
typedef struct distrib_entry
 | 
						|
{ int num;			/* A positive number */
 | 
						|
  double prop;			/* Proportion for this number */
 | 
						|
} distrib_entry;
 | 
						|
 | 
						|
typedef struct distrib
 | 
						|
{ struct distrib_entry *list;	/* The list of numbers and proportions */
 | 
						|
  int size;			/* Number of entries in the list */
 | 
						|
} distrib;
 | 
						|
 | 
						|
 | 
						|
/* MACROS TO ACCESS ELEMENTS OF A DISTRIBUTION LIST.  Note that indexes for
 | 
						|
   entries start at 0. */
 | 
						|
 | 
						|
#define distrib_num(d,i) \
 | 
						|
  ((d)->list[i].num)		/* The number for the i'th entry */
 | 
						|
 | 
						|
#define distrib_prop(d,i) \
 | 
						|
  ((d)->list[i].prop)		/* The i'th entry's proportion [probability] */
 | 
						|
 | 
						|
#define distrib_size(d) \
 | 
						|
  ((d)->size)			/* The length of the list (integer) */
 | 
						|
 | 
						|
 | 
						|
/* PROCEDURES FOR DISTRIBUTION LISTS. */
 | 
						|
 | 
						|
distrib *distrib_create	(char *);
 | 
						|
void distrib_free (distrib *);
 | 
						|
 | 
						|
int distrib_max(distrib *);
 |