Mon, 13 Apr 2015

inline 0.3.14

The inline package facilitates writing code in-line in simple string expressions or short files. The package is mature and in maintenance mode: Rcpp used it greatly for several years but then moved on to Rcpp Attributes so we have a much limited need for extensions to inline.

But we now have a new inline version 0.3.14. It brings both a few minor code updates since the last release in 2013, but also new extensions to both support Fortran better (for several flavours including f95) and to make working with dynamic library files easier. These were contributed by long-time R author Karline Soetaert who thereby became a package co-author. Also, the package moved to GitHub sometime last year and now lives in this repo.

See below for a detailed list of changes extracted from the NEWS file.

Changes in inline version 0.3.14 (2015-04-11)

  • Removed call to Rcpp::RcppLdFlags() which is no longer needed

  • With move of repository to GitHub, added a .travis.yml file and corresponding entry in .Rbuildignore

  • Replaced calls to require() with calls to requireNamespace(); also updated one call

  • Much improved support for Fortran and Fortran95 thanks to Karline Soetaert who became a package co-author

  • New helper functions writeDynLib and readDynLib as well as new methods print and code (also by Karline)

Courtesy of CRANberries, there is a comparison to the previous release.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

/code/inline | permanent link

Fri, 09 Aug 2013

inline 0.3.13

A minor maintenance release of inline is now on CRAN, and has just been already included in Debian. This release contains a patch kindly contributed by Mikhail Umorin which fixes the of \code{cfunction} with lists of signatures and function bodies. The complete NEWS entry is below.

Changes in inline version 0.3.13 (2013-08-08)

  • Applied contributed patch by Mikhail Umorin which corrects cfunction() in the case of a list of signature and body arguments.

Courtesy of CRANberries, there is also a diffstat report for the most recent release. A few more details are available at the R-Forge page.

/code/inline | permanent link

Wed, 12 Jun 2013

inline 0.3.12

Another maintenance release of inline is now on CRAN and in already included in Debian. This release was triggered by a change in the development version of R which removed an argument to package.skeleton(). The complete NEWS entry is below.

Changes in inline version 0.3.12 (2013-06-12)

  • Align package.skeleton with the R-devel version of the function which no longer has a NAMESPACE argument.

  • Remove copy of LGPL in source archive as R CMD check now complains about it. License status continues to be specified in file DESCRIPTION.

Courtesy of CRANberries, there is also a diffstat report for the most recent release. A few more details are available at the R-Forge page.

/code/inline | permanent link

Wed, 27 Feb 2013

inline 0.3.11

A maintenance release of inline is now on CRAN, and is being uploaded to Debian. The release fixes two minor bugs kindly reported by users. As the two previous releases appear to not have been announced here, their NEWS entries are included as well.

Changes in inline version 0.3.11 (2013-02-26)

  • Fix bug in cfunction for .C convention with raw vectors.

  • Correct cfunction to use .Platform$dynlib.ext as the file extension for the library file (unless on Windows).

  • Allow rcpp wrapper to pass another plugin (as eg RcppArmadillo)

Changes in inline version 0.3.10 (2012-10-03)

  • getDynLib() error message corrected as suggested by Yasir Suhail

  • Added rcpp() wrapper for cxxfunction() which sets plugin="Rcpp"

  • Converted NEWS to NEWS.Rd

  • New maintainer, after having coordinated releases (along with Romain) since 0.3.5 in June 2010

Changes in inline version 0.3.9 (2012-10-02)

  • Uncoordinating hijacking of package by CRAN maintainers with a single word change in cfunction.R to prevent an error under an unreleased version of R

Courtesy of CRANberries, there is also a diffstat report for the most recent release. A few more details are available at the R-Forge page.

/code/inline | permanent link

Tue, 07 Dec 2010

inline 0.3.8

Romain pushed verion 0.3.8 of inline to CRAN earlier today, and I just updated the Debian package.

This version adds an internal performance enhancement which is obtained by making due with fewer reads. The short NEWS file entry follows:

0.3.8   2010-12-07

    o   faster cfunction and cxxfunction by loading and resolving the routine
        at "compile" time

/code/inline | permanent link

Wed, 03 Nov 2010

inline 0.3.7

A bug-fix release 0.3.7 of inline is now on CRAN and at Debian.

It fixes a minor bug: when package.skeleton() was called to convert one or more functions created with this package into a package, the corner case of just a single submitted function failed. This is now corrected. Otherwise this release is unchanged from the previous release 0.3.6 from August.

/code/inline | permanent link

Mon, 02 Aug 2010

inline 0.3.6

A couple of days ago, Romain released inline release 0.3.6 to CRAN. This is a maintenance release with no user-visible changes. However, as it captures compiler errors more directly, it should help us debug Rcpp on recalcitrant platforms such as Solaris with suncc where we have no shell access and no build robot (though that may be changing with the rumoured bin-builder). More details on the release at Romain's blog.

/code/inline | permanent link

Thu, 03 Jun 2010

inline 0.3.5

Yesterday morning, Romain pushed inline release 0.3.5 to CRAN.

This is some ways a continuation of the 0.3.4 release I had made in December. That release had opened the door for the wide use of inline in our Rcpp package. And just how Rcpp has grown, we now have needs beyond the initial change. See the post on Romain's blog for details, but in a nutshell we are now gaining

  • cxxfunction which extends cfunction further for C++ use and, among other things, adds a plugin system we can use from RcppArmadillo to permit use of inline
  • package.skeleton which makes it easy to carry a function that one has prototyped with inline over into its own package -- and how to do that was a question at my most recent Rcpp talk in Vienna), and
  • getDynLib which Romain will use to great effect in the next version of Rcpp to provide something not unlike Boost::Python. Stay tuned!

Last but not least, our thanks to Oleg Sklyar for letting us extend his amazing inline package for use by Rcpp.

/code/inline | permanent link