Changes in version 0.0.17 (2025-10-29) - Fixed failing equality tests for Macs (due to inferior accuracy) Changes in version 0.0.16 (2025-10-27) - Defined EL0() as the univariate and EL1() as the multi-variate wrapper, subsumed by EL() - Added Extrapolated EL for applications where the convex hull can be violated - Re-implemented adjusted (2 variants) and balanced EL - Added Bartlett factor computation - Improved brentZero() root search, added two new extensions rules: "left" and "right" - Improved the damped Newton search, added several stopping criteria to prevent stalling Changes in version 0.0.15 (2025-08-18) - Rewrote most of the internal functions in Rcpp for higher speed - Moved weightedEL to EL0 and cemplik -- now that it is in C++ -- to EL - Added Euclidean likelihood, EuL() - smoothEmplik() accepts attach.attributes = TRUE as a synonym for "all" - Fixed 2 bugs in the Taylor expansion related to the spanning condition Changes in version 0.0.14 (2025-07-22) - Fixed a bug in the Taylor expansion for the case of convex hull condition failures - Removed unfinished functions for optimisation and constrained optimisation - Implemented adaptive bandwidths at each point of the evaluation grid for better smoothing - Added a draft version of the vignette showcasing the use of adaptive kernels for smoothing - Implemented a Wald-like Taylor expansion to allow mu to be outside the convex hull in weightedEL() - Sped up the fourth-order triangular kernel Changes in version 0.0.13 - Implemented Taylor expansion to allow mu to be outside the convex hull in weightedEL(), as in Owen (2013) - Replaced uniroot() with a C++ version of Brent's zero search for speed - Improved handling of influential observations in LSCV Changes in version 0.0.12 - Fixed a bug in prepareKernel() where a valid y vector with attributes would not pass the check. - Implemented a more accurate check for lambda being close to the boundary based on the relative search interval length in weightedEL(). - weightedEL() preserves the names of the input vector in wts. - Sped up ctracelr() by using the previous lambda value in the search (~4 times faster). - The output of mllog() now has column names because it was confusing without them. - The output of svdlm() is now a vector, not a 1-column matrix. - Replaced certain instances of sapply() with vapply() in smoothing functions. - Added unit tests for some functions. Changes in version 0.0.11 - Added EUPL licence. - Initialised tests for unit testing. - Fixed the bug in DCV when weights were not taken into account. - Removed simulation functions for the paper (to be provided separately). - Added examples for most functions. Changes in version 0.0.10 - Feature: support for weighted kernel density and regression observation. - Feature: support for sparse weight matrices via sparseKernelWeightsCPP() to save memory. - Feature: observation de-duplication to speed up the non-parametric functions. - Feature: low-level C++ parallelisation and chunking to limit maximum RAM use (via RcppParallel). - Feature: leave-one-out kernel smoothing support for custom output grids. - Reworked mixed kernel density and regression workflow making use of the block data structure. - Bug fix: now there are time savings in multi-core mixed estimation. - Bug fix: in DCV, duplicated observations were not merged (now the LOO is the true LOO: duplicates of the same observation are also left out). - Improved the initial value choice for cross-validation (using a log-scale grid around the rule-of-thumb value). - Sped up C++ kernel functions with RcppArmadillo (20--50% speed gains through better iterations, code structure, and condition checks). Changes in version 0.0.9 - Added a vignette on non-parametric methods. - Added 4th-order C++ versions of all kernels (for bias reduction) and their convolutions. - Auto-detect cross-validation type (density or least-squares) based on the input. - Changed the default behaviour of Silverman's rule of thumb: use a robust estimator of SD (IQR/1.34). - Prepared a stub for discontinuous densities. - Moving the gradient-related functions to a new package, pnd. Changes in version 0.0.8 - Rewrote the C++ smoothers using RcppArmadillo for speed-up, refactored the kernel-related code. - Feature: Support for the 2nd-order uniform, triangular, Epanechnikov, and quartic kernel. Changes in version 0.0.7 - Feature: added functions for parallelised numerical differentiation. - Rewrote multi-variate weighted empirical likelihood functions to allow for Taylor approximations of the empirical likelihood function of any order. Changes in version 0.0.6 - Feature: getSELWeights now renormalises the weights to unity after trimming (by default, can be overridden via renormalise = FALSE). Changes in version 0.0.5 - Initial release.