
Version 1.1.1: January 2007

        - fixed some GCC compiler warnings


Version 1.1.0: December 2007

	* Methods:

	- New method MVTDR

	* Distributions:

	- CONT (continuous univariate distribution):
	  logarithm of CDF can be provided by user.


Version 1.0.1: May 2007

	* Methods:

	- HINV: 
        . fixed problem with missing PDF.
	. better support for heavy-tailed distributions.
	. change default of u-resolution from 1.e-8 to 1.e-10.

	* Distributions:

	- CONT (continuous univariate distribution):
	  compute PDF and dPDF when the CDF is set by a 
	  unur_distr_cont_set_cdfstr() call.


Version 1.0.0: April 2007

	* Methods:

	- New method HIST for sampling from histograms.

	- New method CEXT, DEXT, and MVSTD: 
	  wrapper for external generators for univariate contiuous,
          discrete, and multivariate continuous distributions, resp.

	- HINV: fixed problem with truncated domains.

	- DARI: check for positive domain.

	- VMT is now deprecated. Its only usefull application
          is sampling from a multinormal distribution.
          Use new method MVSTD for this purpose instead.


	* Distributions:

	- Standard distributions: added F-distribution.

	- CEMP (empirical distributions): added histogram.

	- CVEC (Continuous multivariate distributions):

	. Added support for rectangular domains:

	        unur_distr_cvec_set_domain_rect()

	. Using standardized marginal distributions is now
	  deprecated:

		unur_distr_cvec_set_stdmarginals()
		unur_distr_cvec_set_stdmarginal_array()
		unur_distr_cvec_set_stdmarginal_list()
		unur_distr_cvec_get_stdmarginal()


	* Uniform random number generators:

	- unur_urng_fvoid_new() has been changed:
	  first argument must be pointer to function of prototype
	    double (*random)(void *state)


	* Miscellaneous:

	- Protoype of unur_run_tests() has changed: 
          it uses the output stream as additional argument 

	- The UNU.RAN error handler has been been changed:

	     unur_set_error_handler_off() allows to switch off
	     error messages and warnings.
          
	     unur_set_error_handler() allows to replace the
	     default error handler (i.e. print a short message into a
	     logfile) by a customized one.

	  On the other hand it is not possible any more to suppress
	  error messages by a compiler switch.

	- More flags for the ./configure script.

	- The size of file 'src/unuran_config.h' has been removed:
	  Some of the macros are either deleted at all or moved into
	  the file 'config.h' which is created/controlled by
          ./configure script.

	- Script for creating MS Windows(R) DLL using MS Visual Studio
	  2005: ./scripts/win32/build.sh
  

Version 0.9.0: January 2007

	* This is a pre-1.0 release.

	* Deprecated Routines:
	
	  Deprecated routines (see release notes to Version 0.8.1
	  below) are now disabled by default. They are still available
	  but must be enable at using

		./configure --enable-deprecated

	  Notice: Deprecated routines are not tested any more and
	  their usage is strongly discouraged.

	* Wrapper functions for external sources of uniform random
	  numbers are now enabled by configure flags and not by macros
	  defined in file 'src/unuran_config.h'.

	* The file 'src/unuran_config.h' is not installed any more. 
	  It is now only included when the library is compiled.
	  It should be removed from the global include path of the compiler.

	* Some bugs have been fixed.


Version 0.8.1: November 2006

	* Methods:

	- new method ITDR (Inverse Transformed Density Rejection)
	  for distributions with monotone unbounded densities.

	- Implemented new routine unur_reinit() for reinitializing
	  existing generator object. This can be done by extracting
	  the underlying distribution object by a unur_get_distr(),
	  modify it and reinitialize the generator by running
	  unur_reinit().

	- More methods support reinitialization now.

	* String API:

	- New functions unur_makegen_ssu() and unur_makegen_dsu()
	  to allow disribution object, generation method and 
	  uniform random number generator as separate arguments.

	- The keyword "urng" is deprecated now and will be removed
	  in the next release.

	* Distributions:

	 - DISCR:
	   now unur_distr_discr_set_pmf() and unur_distr_discr_set_cdf()
	   can be used after a unur_distr_discr_set_pv() call.
	   However, the probability vector is then removed.

	 - added unur_distr_set_extobj() / unur_distr_get_extobj(): 
	   Store pointer to external object that can be passed to
	   PDF, CDF, PMF or similar functions 

	* Deprecated calls:

	  The API for UNU.RAN has been modified.
	  ow there exists a general unur_reinit() call that replaces
	  such a call for particular methods.
	  Thus the following calls are now deprecated and will be
	  removed in the next release:

	     unur_dari_reinit()
	     unur_dsrou_reinit()
	     unur_srou_reinit()
	     unur_ssr_reinit()
	     unur_utdr_reinit()
	     unur_tdr_reinit()
	     unur_tdrgw_reinit()

	  To avoid lots of calls for changing the parameters or domains
	  of the underlying distribution the prefered method now is to 
	  extract the distribution object from the generator object,
	  use the corresponding calls for distributions to change it,
	  and run unur_reinit().
	  Thus the following calls are now deprecated and will be
	  removed in the next release:

	   . unur_cstd_chg_pdfparams(),
	   . unur_dari_chg_pmfparams(), unur_dari_chg_domain(),
	     unur_dari_chg_mode(), unur_dari_upd_mode(),
	     unur_dari_chg_pmfsum(), unur_dari_upd_pmfsum(), and
	   . unur_dsrou_chg_pmfparams(), unur_dsrou_chg_domain(),
	     unur_dsrou_chg_mode(), unur_dsrou_upd_mode(),
	     unur_dsrou_chg_pmfsum(), unur_dsrou_upd_pmfsum(), and
	   . unur_dstd_chg_pmfparams(),
	   . unur_ninv_chg_pmfparams(),
	   . unur_srou_chg_pdfparams(), unur_srou_chg_domain(),
	     unur_srou_chg_mode(), unur_srou_upd_mode(), 
	     unur_srou_chg_pdfarea(), unur_srou_upd_pdfarea()
	   . unur_ssr_chg_pdfparams(), unur_ssr_chg_domain(),
	     unur_ssr_chg_mode(), unur_ssr_upd_mode(), 
	     unur_ssr_chg_pdfarea(), unur_ssr_upd_pdfarea()
	   . unur_utdr_chg_pdfparams(), unur_utdr_chg_domain(),
	     unur_utdr_chg_mode(), unur_utdr_upd_mode(), 
	     unur_utdr_chg_pdfarea(), unur_utdr_upd_pdfarea()

	  Other calls:	  

	   . removed unur_arou_set_center() as this functionality is 
	     already covered by the unur_distr_cont_set_center() call.

	   . removed unur_tdr_set_center() as this functionality is 
	     already covered by the unur_distr_cont_set_center() call.

	* Bug fixes:

	- fixed segfault when calling unur_urng_free() with RngStreams
	  object.


Version 0.7.2: March 2006

	- fixed function prototype that contained C++ keyword


Version 0.7.1: January 2006

	- fixed non-ASCII C compliant code in tests directory


Version 0.7.0: January 2006

	* Methods:

	- new method TDRGW (robust variant of TDR - variant of Gilks & Wild)

	- new method NORTA (NORmal To Anything)

	- new method HITROU  
	
	- new method GIBBS
	
	- method TDR: added reinit routine

	- method TABL: construction points can be set by new function 
	  unur_tdr_set_cpoints(). It also replaces function 
	  unur_tabl_set_nstp() which should not be used any more
	  (but is still available for compatibility).

	- method MCORR: extended to cover generation of random
	  correlation matrices with given eigenvalues.

	* Distributions:

	- added new distribution type for full conditional distributions

	- continuous distribution objects (CONT) have a slot for the center
	  of the distribution. It is now set for the distribution
	  directly. This mechanism replaces the _set_ calls for 
	  all methods that make use of the center.

	- interface for setting and getting parameter-arrays for 
	  multivariate distributions (CVEC) has been renamed.

	- adding multivariate Cauchy and Student distributions.

	* Uniform random number generator:

	- new flexible interface to uniform random number generators.
	  No compiler switches necessary. Thus it is now possible to
	  use random numbers from different libraries without 
	  recompiling UNU.RAN.

	- The generic interface to uniform random number generators
	  has been enhanced. However, it cannot be accessed directly any more.
	  Use the corresponding calls instead (see also the message above). 


Version 0.6.0: June 2005

	- precompiles version for Windows 


Version 0.5.0: August 2004

	- UNU.RAN now makes use of IEEE 754 compliant floating point
	  arithmetic. In particular, 1./0. and 0./0. must result in 
	  infinity and NaN (not a number), respectively, and must not
	  cause a floating point exception.
	  For all modern compting architecture this is implemented in
	  hardware or in software using a special compiler flag.

	- new methods NROU and VNROU

	- new method MCORR
	
	- return codes of _set_ and _get_ functions have been changed:
	  in case of successful execution 0 (or UNUR_SUCCESS) is returned 
	  (instead of 1 in previous versions). 
	  Thus it is possible to return some non-zero error code in case 
	  of an failure.

	- the API of method VMT has changed

	- added new disribution type MATR for matrix distributions.
	  (Currently only used for creating random covariance matrices)

	- multivariate distribution objects now contain marginal distributions.

	- unur_distr_cvec_set_covar() now checks for positive definiteness of
	  given covariance matrix.

	- fixed bug in function that (automatically) computes a 
	  probability vector by means of the probability mass
	  function. This caused methods that require explicitly given
	  probability vectors (like DAU) to truncate the last entry.

	- some other minor bug fixes


Version 0.4.5: July 2003

	- added method DSS (discrete sequential search)

	- added rerandomized ARS to method AROU

	- bug fixes with discrete distributions


Version 0.4.4: July 2003

	- "orderstatistics" need not be last entry in string API

	- replaced unur_tabl_set_variant_setup() by unur_tabl_set_usedars()
	  with a slightly different interface.


Version 0.4.3: June 2003

	- fixed problem with prepocessor for MacOS X

	- fixed bug in Kinderman-Ramage Gaussian variate generator


Version 0.4.2: March 2003

	- new interface for unur_tdr_eval_invcdfhat()

	- fixed bug in error handling of method AROU


Version 0.4.1: January 2003

	- use build-in generator as default uniform random number generator

	- string API: fixed bug with string 'inf' in cygwin.
		      parsing of numbers does not depend on locale any more

	- fixed bug in Makefile


Version 0.4.0: January 2003
	
	- added methods HRB, HRD, and HRI for distributions with given
	  hazard rates (bounded, decreasing, and increasing, resp.)

	- added method EMPL (empirical CDF with linear interpolation)
	  (for sake of completeness; method not recommended)

	- support for shared libraries

	- reorganization of source tree

	- bug fixes


Version 0.3.0: October 2002

	- added method HINV (Hermite interpolation based INVersion of CDF)

	- new interface for using uniform random number generators;
	  all settings are now in ./src/unuran_config.h

	- added support for more uniform random number generator packages

	- included better build-in uniform pseudo-random number generator

	- added unur_gen_clone() call

	- added const qualifier in function prototypes where appropriate

	- fixed broken computation of window width in method EMPK

	- many bug fixes


Version 0.2.0: June 2002

	- added new simple API (String interface)

	- added method AUTO (automatic)

	- added method DSROU (discrete simple ratio of uniforms)

	- improved method for finding construction points in methods TDR and AROU
	  (Derandomized adaptive rejection sampling)

	- many bug fixes


Version 0.1.0: March 2001

	- First public release.
