Security News
Cloudflare Adds Security.txt Setup Wizard
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
@stdlib/math-base-napi-unary
Advanced tools
C APIs for registering an N-API module exporting an interface for invoking a unary numerical function.
C APIs for registering an N-API module exporting interfaces for invoking unary numerical functions.
npm install @stdlib/math-base-napi-unary
var headerDir = require( '@stdlib/math-base-napi-unary' );
Absolute file path for the directory containing header files for C APIs.
var dir = headerDir;
// returns <string>
var headerDir = require( '@stdlib/math-base-napi-unary' );
console.log( headerDir );
// => <string>
npm install @stdlib/math-base-napi-unary
#include "stdlib/math/base/napi/unary.h"
Invokes a unary function accepting and returning double-precision floating-point numbers.
#include <node_api.h>
// ...
static double identity( const double x ) {
return x;
}
// ...
/**
* Receives JavaScript callback invocation data via N-API.
*
* @param env environment under which the function is invoked
* @param info callback data
* @return N-API value
*/
napi_value addon( napi_env env, napi_callback_info info ) {
return stdlib_math_base_napi_d_d( env, info, identity );
}
// ...
The function accepts the following arguments:
[in] napi_env
environment under which the function is invoked.[in] napi_callback_info
callback data.[in] double (*fcn)( double )
unary function.void stdlib_math_base_napi_d_d( napi_env env, napi_callback_info info, double (*fcn)( double ) );
Invokes a unary function accepting and returning single-precision floating-point numbers.
#include <node_api.h>
// ...
static float identityf( const float x ) {
return x;
}
// ...
/**
* Receives JavaScript callback invocation data via N-API.
*
* @param env environment under which the function is invoked
* @param info callback data
* @return N-API value
*/
napi_value addon( napi_env env, napi_callback_info info ) {
return stdlib_math_base_napi_f_f( env, info, identityf );
}
// ...
The function accepts the following arguments:
[in] napi_env
environment under which the function is invoked.[in] napi_callback_info
callback data.[in] float (*fcn)( float )
unary function.void stdlib_math_base_napi_f_f( napi_env env, napi_callback_info info, float (*fcn)( float ) );
Invokes a unary function accepting and returning 32-bit signed integers.
#include <node_api.h>
#include <stdint.h>
// ...
static int32_t identity( const int32_t x ) {
return x;
}
// ...
/**
* Receives JavaScript callback invocation data via N-API.
*
* @param env environment under which the function is invoked
* @param info callback data
* @return N-API value
*/
napi_value addon( napi_env env, napi_callback_info info ) {
return stdlib_math_base_napi_i_i( env, info, identity );
}
// ...
The function accepts the following arguments:
[in] napi_env
environment under which the function is invoked.[in] napi_callback_info
callback data.[in] int32_t (*fcn)( int32_t )
unary function.void stdlib_math_base_napi_i_i( napi_env env, napi_callback_info info, int32_t (*fcn)( int32_t ) );
Macro for registering an N-API module exporting an interface for invoking a unary function accepting and returning double-precision floating-point numbers.
static double scale( const double x ) {
return x * 10.0;
}
// ...
// Register an N-API module:
STDLIB_MATH_BASE_NAPI_MODULE_D_D( scale );
The macro expects the following arguments:
double (*fcn)( double )
unary function.When used, this macro should be used instead of NAPI_MODULE
. The macro includes NAPI_MODULE
, thus ensuring N-API module registration.
Macro for registering an N-API module exporting an interface for invoking a unary function accepting and returning single-precision floating-point numbers.
static float scale( const float x ) {
return x * 10.0f;
}
// ...
// Register an N-API module:
STDLIB_MATH_BASE_NAPI_MODULE_F_F( scale );
The macro expects the following arguments:
float (*fcn)( float )
unary function.When used, this macro should be used instead of NAPI_MODULE
. The macro includes NAPI_MODULE
, thus ensuring N-API module registration.
Macro for registering an N-API module exporting an interface for invoking a unary function accepting and returning 32-bit signed integers.
#include <stdint.h>
static int32_t scale( const int32_t x ) {
return x * 10;
}
// ...
// Register an N-API module:
STDLIB_MATH_BASE_NAPI_MODULE_I_I( scale );
The macro expects the following arguments:
int32_t (*fcn)( int32_t )
unary function.When used, this macro should be used instead of NAPI_MODULE
. The macro includes NAPI_MODULE
, thus ensuring N-API module registration.
The C-API functions expect that the callback info
argument provides access to the following JavaScript arguments:
x
: input value.This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
See LICENSE.
Copyright © 2016-2021. The Stdlib Authors.
0.0.1 (2021-06-14)
No changes reported for this release.
</section> <!-- /.release -->FAQs
C APIs for registering a Node-API module exporting an interface for invoking a unary numerical function.
The npm package @stdlib/math-base-napi-unary receives a total of 376,906 weekly downloads. As such, @stdlib/math-base-napi-unary popularity was classified as popular.
We found that @stdlib/math-base-napi-unary demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.
Security News
ENISA’s 2024 report highlights the EU’s top cybersecurity threats, including rising DDoS attacks, ransomware, supply chain vulnerabilities, and weaponized AI.