Fortran source code now reliant on Fortran 2008
Fortran module ieee_arithmetic used
Updated help documentation
Updated Github actions
Updated internal code to be more compliant with personal style guide
Updated CITATION to use
bibentry per CRAN request
gamln replaced with Fortran 2008
position replaced with Fortran
set_inf replaced with ieee_arithmetic calls
NaN now use ieee_arithmetic calls
Updated package with information necessary to acheive OpenSSF silver status
Converted unit testing framework to
tinytest to reduce
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,
NaN parameters or passed values.
R versions of
rdelap behave more like the
Exact code more in line with R defaults for d/p/q/r functions in
NaN inputs return
-Inf now more in line with R
defaults for d/p/q/r functions.
Parameter errors now check for
< 0 instead of
pdelap now use 8-byte integers (INT64) for
their counters so allow calculation for values up to
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
Inf returns 0 and
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.
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%.
Explicit citation information to README.
Travis, AppVeyor, and CodeCov Integration.
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.
rdelap testing to always use a fixed seed.
Documentation cleaned up.
Removed unneeded Makevars target
Removed GNU-specific Makevars target
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
Older implementation of
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
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.
n as an integer in loggamma routine. This
should suppress warning on OSX mavericks.
Older implementation of
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.
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
lambda is close to 0 (less than
machine epsilon). Within vectors, valid triplets should still return
proper values. The approximate versions of
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
have been implemented.
Tests for near 0 handling on exact version.
The old approximation versions of
can still be used by passing
old = TRUE. This will be removed
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
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.
qdelap mode to numeric instead of
integer to handle returned
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
Updated code in unit tests to reflect change in
testthat package (move to
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.
lambda can now be vectors.
Added more robust tests.
Minor optimizations for speed.
log.p which were not
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
\alpha, \beta, or
Converted NEWS to NEWS.Rd.
Added repository and bug report URL to DESCRIPTION.
Help documentation corrections, comments, and tweaks.