Origin 2017 NAG Changes

Origin 2017 NAG Changes

Origin has included all functions from NAG MARK C LIBRARY since Origin 8 was released. These functions can be easily accessed from your Origin C function. In Origin 2017, the NAG library has been updated to the latest version Mark 25.

Linked Jira:  ORG-13393





The details of each function can be referred to Origin C Guide: NAG C Library.

Summary

Details

Summary

Details

The header file <oc_nag8.h> has been replaced by <OC_nag.h>, and the header file <oc_nag_ex.h> have been withdrawn.

For example:

#include <OC_nag8.h> #include <nag\OC_nag_ex.h>

has to be changed into:

#include <OC_nag.h> //#include <nag\OC_nag_ex.h>//not need, only oc_nag.h required.

Some NAG functions have been withdrawn and replaced by other functions.

See the full list in the file below

If there is an error as below after compiling, it might be caused by the NAG function that have been withdrawn since the new release NAG C Library.

Error, function or variable ***** not found.



Referring to the following table Withdrawn Functions, the replacement function can be found and used instead. For example:

  • e01sac has been replaced by e01sjc since Mark 23.

    Origin C: Example: Interpolation and Gridding: XYZ Gridding by Renka Cline Method

    e01sac(method, nSize, vx, vy, vz, &comm, &optional, &fail);

    can be changed instead of:

    Origin C: Example: Interpolation and Gridding: XYZ Gridding by Renka Cline Method

    //The arguments triang and grads that were not included in e01sac should be declared before calling the function e01sjc e01sjc(nSize, vx, vy, vz, triang, grads, &fail);
  • e01sbc has been replaced by e01skc since Mark 23.

    Origin C: Example: Interpolation and Gridding: XYZ Gridding by Renka Cline Method

    e01sbc(&comm, nRows*nCols, vxGrid, vyGrid, mat, &fail);

    can be changed instead of:

    Origin C: Example: Interpolation and Gridding: XYZ Gridding by Renka Cline Method

    //The arguments triang and grads that were not included in e01sbc should be declared before calling the function e01skc //More details of e01skc can be referred to NGA C Library for(int ii=0; ii < nRows; ii++) { for(int jj=0; jj < nCols; jj++) { e01skc(nSize,vx, vy, vz, triang, grads, vxGrid[jj], vyGrid[ii], &mat[jj][ii], &fail); } }
  • d01ajc has been replaced by d01sjc since Mark 24.

    Origin C: Example: Quadrature Integral: Simple Integral Function

    d01ajc(func, a, b, epsabs, epsrel, max_num_subint, &result, &abserr, &qp, &fail);

    can be changed instead of:

    Origin C: Example: Quadrature Integral: Simple Integral Function

    d01sjc(func, a, b, epsabs, epsrel, max_num_subint,&result, &abserr, &qp, &comm, &fail);

Some NAG functions have been withdrawn without replacement. 

See the full list in the file below

If there is no replacement required of the withdrawn function, it can be removed from the code file. For example:

  • e01szc has been withdrawn since Mark 23.

    Origin C: Example: Interpolation and Gridding: XYZ Gridding by Renka Cline Method

    if (fail.code != NE_NOERROR) { printf("Error from e01sac: %s\n", fail.message); //nag_2d_scat_free e01szc(&comm); return fail.code; }

    has to be changed into:

    Origin C: Example: Interpolation and Gridding: XYZ Gridding by Renka Cline Method

    if (fail.code != NE_NOERROR) { printf("Error from e01sac: %s\n", fail.message); return fail.code; }

Some NAG functions have been added.

See the full list in the file below

There are 551 new user-callable functions included in the NAG C Library of Origin 2017, which can be referred to the table New Functions as follow.

Generally speaking, the function is new to NAG library in Origin 2017, if its mark of introduction is 23, 24 or 25.

Please download the file and check the full list of changes:

NAG Function Changes.xlsx