TO DO LIST:
-----------

26/11/2010 TO DO:
  fitted.GLMM_MCMC not yet implemented for situations when there are only fixed effects in the model

14/06/2010 TO DO:
  In GLMM_Deviance.cpp
       Commands:  *marg_ll_iP += *w_k * AK_Basic::exp0_AK(loglik_k);  (around line 239)
                  *marg_ll_iP = AK_Basic::log0_AK(*marg_ll_iP); (around line 252)
       In the case of the poisson response, it would be desirable to add log(y!) to loglik_k before exp-it    
       and subtract it again after log the mixture sum. With higher counts, loglik_k is quite considerably negative
       which leads to exp(-Inf) = 0 and then upon log again, we get -Inf log-likelihood where
       -Inf is artificial due to imprecise calculation with numbers close to zero.

  --> more or less solved on 03/12/2010

======================================================================================================================
16/09/2024 (version 5.8):
C code: all instances of 'error' and 'warning' changed to 'Rf_error' and 'Rf_warning' (R_ext/Error.h)
        all instances of 'Calloc' and 'Free' changed to 'R_Calloc' and 'R_Free' (R_ext/RS.h)
        [to make the CRAN check happy]

08/12/2023 (version 5.7):
Minor changes in few cpp/h files to make the CRAN check happy.

25/09/2023 (version 5.6):
Minor changes in Rd files to make the CRAN check happy.

19/09/2022 (version 5.5):
Minor changes in Rd files to make the CRAN check happy.

19/04/2022 (version 5.4):
Correction of e-mail addresses in Rd files.
DOI added to the primary reference in Journal of Statistical Software.
FCONE added where needed in F77_CALL() instances
  (files AK_BLAS.cpp, AK_LAPACK.cpp, Dist_MVN.cpp, Dist_MVT.cpp, Dist_Wishart.cpp, Dist_mixMVN.cpp,
         GLMM_Deviance.cpp, GLMM_Deviance2.cpp, GLMM_longitPred_nmix_gauss.cpp, GLMM_updateFixEf.cpp,
	 GLMM_updateRanEf.cpp, MCMC_Moments_NormalApprox.cpp, MCMC_Moments_NormalApprox_QR.cpp,
	 NMix_ChainsDerived.cpp, NMix_PredCDFMarg.cpp, NMix_PredCondDensCDFMarg.cpp,
	 NMix_PredDensJoint2.cpp, NMix_RJMCMCcombine.cpp, NMix_RJMCMCsplit.cpp,
	 NMix_PredDensMarg.cpp, NMix_RJMCMCbirth.cpp, NMix_updateMeansVars.cpp,
	 NMix_Utils.cpp, NMix_fullCondMean_WeightsMeansVars.cpp, NMix_PredCondDensJoint2.cpp,
	 Stat_BLA.cpp)
class(err) == "try-error" replaced by inherits(err, what = "try-error") in R files

02/06/2020 (version 5.3):
Changes in NAMESPACE file to make the CRAN check happy.

31/01/2020 (version 5.2):
Minor changes to make the -Wunused-value option of the CRAN check happy,
mainly for(s; STATEMENT1; STATEMENT2) changed to for(; STATEMENT1; STATEMENT2), two real bugs
(not shifted pointers in GLMM_updateRanEf.cpp:626:6, NMix_updateMeansVars.cpp:516:9) also corrected.

17/05/2018 (version 5.1):
Minor changes in plotProfiles.R and in NMix_RJMCMCcombine.cpp

15/03/2017 (version 5.0):
Registration of C routines used.

11/10/2016 (version 4.4):
Formal correction of some header files (e-mail B. Ripley from 18/09/2016).

02/06/2016 (version 4.3):
Argument type added to cbplot function.

01/08/2015 (version 4.2):
Bug in getProfiles corrected that was incidentally created in version 4.1.

28/07/2015 (version 4.1):
Options to parallel computation added (on 29/06/2015).

26/03 - 02/04/2015 (version 4.0):
Possibility of having weights dependent on a categorical covariate 
implemented in NMixMCMC and related functions.

06/02/2015 (version 3.10):
NAMESPACE updated by explicit export of some S3 methods.

05/02/2015 (version 3.9):
CITATION file updated (desc replaced by meta).

01/09/2014 (version 3.7):
Bug in GLMM_MCMCdata corrected (it appeared when two or more discrete responses
of the same type, e.g., binomial, were included in the model).

CITATION file updated (methodological papers removed from there).

21/08/2014 (version 3.7):
NMixCluster function added (currently only method for class GLMM_MCMC).

06/08/2014 (version 3.6-1):
Update of index.html in /inst/doc directory, validation using http://validator.w3.org.

14/05/2014 (version 3.6):
Minor changes related to the final JSS submission.

22/09/2013 (version 3.5):
Gauss-Hermite quadrature inside the fitted.GLMM_MCMC function implemented using the 
functions from the 'fastGHQuad' package. Arguments x2, z2 are no more needed.

16/08/2013 (version 3.4-2):
Function NMixRelabel.GLMM_MCMClist allows for a joint processing of two chains
(jointly = TRUE).

06/08/2013 (version 3.4-1):
Functions rWishart and dWishart renamed to rWISHART and dWISHART to avoid
conflicts with rWishart in package stats.

05/08/2013 (version 3.4):
Most dependencies moved from "Depends" to "Imports" in the DESCRIPTION file
and solved via importFrom in the NAMESPACE.

18/07/2013 (version 3.2-4):
Changes of names of some components inside the objects of classes NMixMCMC and GLMM_MCMC:
comp.prob2 --> comp.prob_b
comp.prob3 --> comp.prob

poster.comp.prob1 --> poster.comp.prob_u
poster.comp.prob2 --> poster.comp.prob_b
poster.comp.prob3 --> poster.comp.prob

quant.comp.prob1 --> quant.comp.prob_u
quant.comp.prob2 --> quant.comp.prob_b
quant.comp.prob3 --> quant.comp.prob

08/02/2013:
Support for parallel computation originally provided by snowfall/snow packages changed to parallel package.

01/05/2012:
All pdf vignettes moved to my personal webpage (to decrease the size of the package which must be stored on CRAN).

18/12/2011:
GLMM_MCMC creates by default two parallel chains and calculates also PED, support for parallel computation 
on multicore CPUs using snowfall/snow packages added.

20/01/2011:
beta in GLMM_MCMC function (and all related) was renamed to alpha to be in agreement with papers.

29/11/2010:
Calculation of posterior quantiles for estimated component probabilities added to NMixRelabel functions
(both NMixMCMC and GLMM_MCMC version).

08/12/2009
Bug in computation of weights for the EB estimate of random effects in GLMM_longitPred_nmix_gauss.cpp fixed.

22/11/2009
Function NMixClust renamed to NMixPlugDA.

06/11/2009
Bugs in GLMM_updateRanEf.cpp found and fixed:  
  * eta_random was computed incorrectly as Z %*% bscaled and not as Z %*% b, where b = shift + diag(scale) %*% b
  * pointers in the final part of the code did not shift correctly