NEWS | R Documentation |
Converted unit testing framework to tinytest
to reduce
dependencies
Augmented citation with DOI and CFF file
Corrected help file
Removed SIMD calls added in 8.0.0 due to Solaris.
Removed LTO mentions from Makevars added in 8.0.0 per Brian Ripley.
Pass more R-consistent error messages.
Made more robust to improper inputs such as negative, NA
, or
NaN
parameters or passed values.
R versions of qdelap
and rdelap
behave more like the
Fortran versions.
Exact code more in line with R defaults for d/p/q/r functions in
that NaN
inputs return NaN
outputs.
Handling of Inf
and -Inf
now more in line with R
defaults for d/p/q/r functions.
Parameter errors now check for < 0 instead of < EPS
.
ddelap
and pdelap
now use 8-byte integers (INT64) for
their counters so allow calculation for values up to 2^63.
ddelap
will return 0 for all values > 2^63 under the
assumption that the pmf is spread too thinly.
pdelap
will not run for values > 2^63.
ddelap
of Inf
returns 0 and pdelap
of
Inf
returns 1.
pdelap
gives a warning for finite values > 2^15 as,
dependning on the parameters, this may take hours to finish (it's a double
summation!). The user has to respond with 'y' for it to continue.
Updated help and tests.
Allow compiler to use OpenMP SIMD constructs.
Allow using LTO
.
Switched CI from Travis/Appveyor to Github actions (thanks to Jim Hester for his help in fixing the coverage check issue).
Corrected CRAN requests.
Cleaned up NEWS.
Converted tests to be compliant with testthat
: 3rd edition.
Cleaned up prose.
Added a citation to DESCRIPTION.
Added a test to get codecov to 100%.
CITATION file.
Explicit citation information to README.
Travis, AppVeyor, and CodeCov Integration.
Added R_forceSymbols(dll, TRUE)
to source per WRE 5.4.
Tests for package versioning.
Moved canonical repository to Github.
Use FFLAGS instead of FCFLAGS in Makevars.
Removed depsy badge from README as site is now defunct.
Updated NEWS to reflect recent changes.
Updated various file versions to reflect recent changes.
Makevars adjusted by CRAN to prevent issues with parallel make.
Changed Makevars flags and targets and forced dependance on R 3.6+ to comply with new CRAN policies on Fortran and OpenMP.
Preventing spurious floating point errors by implementing hard floor of 0 and hard ceiling of 1.
Updated comments in delaporte.f95 source code.
Changed rdelap
testing to always use a fixed seed.
Documentation cleaned up.
Removed the cleanzeros
function.
Removed unneeded Makevars target cleanup
.
Removed GNU-specific Makevars target .NOTPARALLEL
.
Added cleanzeros
function that zaps to 0 any value less or
equal to EPS (thanks Kipper Fletez-Brant).
Test for zeros (thanks Kipper Fletez-Brant).
Added items to README to comply with CII best practices and added badge.
Added various badges to README.
Added copyright and license information inside R source code file.
MoMdelap
now allows a skew type
selection, similar to
that of the skewness function in the e1071 package
(thanks to William Cipolli for the suggestion). Skew defaults to former
selection so there should be no change to any values.
Tests added for all three skewness variants.
ORCID added to author description.
Copyright date corrected to reflect actual copyright and not date of licensure change.
There was an error in the calculation of beta
, and thus all
three parameters, in MoMdelap
(thanks to William Cipolli).
The approximate version of qdelap
was not correct. It pooled
together ALL generated random variables. As it is impractical to generate
millions of random variates for each unique parameter triplet, the
functionality was changed so that only the “exact” version of
qdelap
may be used if any of the parameters are a vector.
In the continued struggle to have the package pass all its tests on Solaris SPARC, all logicals needing to be passed to Fortran are now passed as integers and not booleans. While all other platforms had no problem using Fortran 2003's ISO_C_bindings, Solaris SPARC did.
Added note to README about Solaris SPARC.
More tests including for singleton approximate qdelap
.
Older implementation of qdelap
and rdelap
approximations are now completely removed from code and documentation.
Solaris, being big-endian, appears unable to use the same bit-mask transfer for 'NaN' and INF as any other R platform. Therefore, the package has to revert to calling C to call the R magic words which should recognize the platform.
Changed handling of non-integers to be in line with R convention
that they have 0 probability instead of being considered the next integer.
ddelap
will return 0 for each non-integral value and will pass one
warning, unlike base R which passes one warning per non-integral value.
qdelap
will just return the value for the last integer and no
warnings, similar to base R.
Use bit-representation of NaN and INF to remove need to call C for setting these values. This allows the log-gamma, and singleton d/p/qdelap functions to be elemental.
Changed registration of the C SEXP functions seen by the package to
use R_CallMethodDef
as now preferred by CRAN.
Explicitly listed the five C SEXP functions seen by the package as R_RegisterCCallable for potential downstream package use.
Corrected some prose in documentation page.
Older NEWS entries refactored for accuracy.
Explicitly cast n
as an integer in loggamma routine. This
should suppress warning on OSX mavericks.
Older implementation of qdelap
and rdelap
approximations is now defunct. Only the new faster approximation based on
section 3.9 of Karlis & Xekalaki (2005) remains. The next minor version
may remove the .Defunct
calls and the references to the old version
in the documentation.
Removed colClasses = 'double'
from tests. This should solve
Sun Sparc issues (It didn't).
Specified, clarified, and added many more unit tests.
Back end code ported from C++ & Rcpp to Fortran and C. In most cases this alone showed an increase in speed. There should be no noticeable difference in results. Random numbers generated with the same seeds should be the same as in previous packages.
OpenMP calls activated for systems which have it which allows parallel processing of certain loops resulting in further speed increases over and above those supplied by Fortran. OpenMP compatibility is approximately version 3.1; no SIMD instructions are used.
License changed from GPL2+/LGPL3+ to BSD-2 clause.
Includes various emergency fixes to address parallel make and other compilation issues in versions 4.0.0–4.0.2.
Did not build properly on some systems using a parallel make.
Did not build properly on Fedora using Clang.
Did not build properly on various platforms such as Fedora and Solaris.
The distributional functions now return NaN
where the passed
alpha
, beta
, or lambda
is close to 0 (less than
machine epsilon). Within vectors, valid triplets should still return
proper values. The approximate versions of qdelap
and rdelap
do not handle 0 properly, and an error is thrown directing the user to the
exact version. Thanks are due to Jonathan Cairns and Jin-Rui Xu for their
help in testing.
Faster versions of the approximate qdelap
and rdelap
have been implemented.
Tests for near 0 handling on exact version.
The old approximation versions of qdelap
and rdelap
can still be used by passing old = TRUE
. This will be removed
eventually.
Reverted back to 2.2-3 as change to trapping zeros caused serious downstream issues. Will work on more elegant correction shortly (thanks to Mikhail Spivakov, Jonathan Cairns, and Jin-Rui Xu).
In the next release (3.0.0), passing FALSE to exact
in rdelap
and qdelap
will use the method described in
section 3.9 of Karlis & Xekalaki (2005) to generate approximately
Delaporte random variates much more quickly for large n
and large
values of the parameters. However, when implemented, this will break
reproducible even for specifically set seeds. The new code is commented
out in the function.
Change non-exact qdelap
mode to numeric instead of
integer to handle returned Inf
.
Refactor NEWS to more closely comply with keep a changelog suggestions.
Check for any parameters not strictly greater than 0 (thanks to Mikhail Spivakov and Jonathan Cairns).
Explicitly import code from package stats
.
Updated code in unit tests to reflect change in
testthat
package (move to expect_equal
).
Minor tweaks to prose and grammar and expanded description.
Updated DESCRIPTION file to comply with recent changes.
Trapped machine precision issues when calling right-tailed version of cumulative distribution function (thanks to Mikhail Spivakov and Jonathan Cairns).
Update documentation to reflect rounding procedure when non-integer passed as value.
Vectorized d/p/q/rdelap
; alpha
, beta
, and
lambda
can now be vectors.
Added more robust tests.
Minor optimizations for speed.
Corrected lower.tail
and log.p
which were not
implemented properly.
Adjusted unit test so it can be run more easily on 32 bit machine with limited memory.
Fixed spelling and other prose.
Added function to calculate method of moments estimates for the parameters. These estimates should also serve as good starting points for maximum likelihood estimation.
Added unit testing.
Minor cleanup after Rcpp update (remove Makevar files; tweak documentation).
Updating for changes made to Rcpp 0.11.0. Previous versions may no longer compile properly and the current version may no longer work with older versions of Rcpp.
Change “Depends” to “LinkingTo” in line with CRAN philosophy on package dependencies.
Update documentation to give rough estimate as to when “exact = FALSE” should be used (rarely).
Have R code be written in a consistent style.
Update README now that CRAN uses it as well.
Minor grammar and typography tweaks to documentation.
Poisson-negative binomial approximation to quantile and random variate functions. This greatly speeds up calculation for large α, β, or λ.
Converted NEWS to NEWS.Rd.
Added repository and bug report URL to DESCRIPTION.
Help documentation corrections, comments, and tweaks.
Initial version.