Skip to content

BNX Interface Package for R2C Callable Fortran Routines

License

Notifications You must be signed in to change notification settings

bionumerix/bnxFortran

Repository files navigation

bnxFortran

Project Status: Active – The project has reached a stable, usable state and is being actively developed. GPL-3 Travis Build Status AppVeyor Build Status Coverage Status CRAN Status Badge

Overview

Git-Version: 0.1.9

The ‘bnxFortran’ package provides some C functions that wrap Fortran algorithms. These interface functions are implemented here to be called directly from the C or C++ source code level of other R packages.

Background

This package has been created with at least two main purposes in mind:

  • Using R’s R_RegisterCCallable to enable function calling at the the source code (src) level of other R packages.
  • Placing all Fortran algorithms needed by the Bionumerix (BNX) R packages and associated C/C++ wrapper functions at a central place for maintenance and reusability.
  • … (etc.).

Status

Currently, the following Fortran algorithms are wrapped and can be called from C/C++ source code within other packages (src) source code:

  • nnls: the Lawson-Hanson NNLS implementation of non-negative least squares written by CL Lawson & RJ Hanson (1995) with modifications by KM Mullen & IHM van Stokkum (CRAN nnls).
  • akima algorithms ACM 433 and 697: the “original” (ACM 433, Akima 1970) or “improved” method (ACM 697, Akima 1991) after H Akima originally ported to R by A Gebhardt et. al. (CRAN akima).

Possible improvements, additions as well as next steps are listed in the TODO.md file.

Install

Stable releases of this package are usually made available at and can be installed from CRAN using R via the standard

## The most-likely easiest way to get this package installed:
install.packages("bnxFortran")

Development version

To get a bug fix, or use a feature from the latest development version, you can install this package from GitHub using:

## Installation from source gets you the latest (developmental) fixes:
# You may need to pre-install all necessary dependencies (if any is missing).
# You may need to set `httr::set_config(httr::config(ssl_verifypeer = 0L))`.
if (!require("devtools")) {
  install.packages("devtools")
}
devtools::install_github("bionumerix/bnxFortran")

License

This package as a whole is distributed under GPL-3 (GNU GENERAL PUBLIC LICENSE version 3). Other license terms may apply for third party algorithms. Read the license file to see for license details.

This package may include other open source functions, software and components. These are listed including copies of their license agreements within the license file.

Third party copyrights are property of their respective owners.

Support

Regarding bug reports, please open an issue at the respective repository issue site at …/issues/new. Please include an example that can be used to reproduce the error or bug. The easier a potential bug can be reproduced, the faster a solution will be in place. Please check out the project issue template for further details.

In case of questions, enhancements and extensions etc. please open an issue with appropriate / respective label at the above-mentioned issue page.

Please read carefully the contributing and code of conduct guidelines.

Further reading

Please read the contributing guidelines if you are interested in contributing to this project.

Please read also the code of conduct remarks as a set of rules outlining the social norms, rules and responsibilities of, or proper practices for, an individual, party or organization when contributing to this project.

Remarks

This R package includes functions derived from other external sources, such as other R packages. The authors of the functions or packages used are listed here as contributors. For details and complete list lookup the license file and the source code of this package too.

Dirk Steinhauser, with contributions by Hiroshi Akima, Albrecht Gebhardt, Thomas Petzold, Martin Maechler, Katharine M. Mullen, Ivo H. M. van Stokkum, Charles L. Lawson, Richard J. Hanson and the Development Core Team / R Foundation.


Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

About

BNX Interface Package for R2C Callable Fortran Routines

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published