create_double
Convert a double-precision floating-point number to a Node-API value.
Usage
var headerDir = require( '@stdlib/napi/create-double' );
headerDir
Absolute file path for the directory containing header files for C APIs.
var dir = headerDir;
// returns <string>
Examples
var headerDir = require( '@stdlib/napi/create-double' );
console.log( headerDir );
// => <string>
C APIs
Usage
#include "stdlib/napi/create_double.h"
stdlib_napi_create_double( env, value, *out )
Converts a double-precision floating-point number to a Node-API value.
#include "stdlib/napi/create_double.h"
#include <node_api.h>
static napi_value addon( napi_env env, napi_callback_info info ) {
// ...
napi_value value;
napi_status status = stdlib_napi_create_double( env, 1.0, &value );
assert( status == napi_ok );
if ( err != NULL ) {
assert( napi_throw( env, err ) == napi_ok );
return NULL;
}
// ...
}
The function accepts the following arguments:
- env:
[in] napi_env
environment under which the function is invoked. - value:
[in] double
double-precision floating-point number. - out:
[out] napi_value*
destination for storing output value.
napi_status stdlib_napi_create_double( const napi_env env, const double value, napi_value *out );
The function returns a napi_status
status code indicating success or failure (returns napi_ok
if success).
STDLIB_NAPI_CREATE_DOUBLE( env, expression, name )
Macro for converting a double-precision floating-point number to a Node-API value.
#include "stdlib/napi/create_double.h"
#include "stdlib/napi/argv_double.h"
#include "stdlib/napi/argv.h"
#include <node_api.h>
static double fcn( const double v ) {
return v;
}
// ...
static napi_value addon( napi_env env, napi_callback_info info ) {
// Retrieve add-on callback arguments:
STDLIB_NAPI_ARGV( env, info, argv, argc, 1 );
// Convert the first argument to a C type:
STDLIB_NAPI_ARGV_DOUBLE( env, value, argv, 0 );
// ...
// Convert a value having a C type to a Node-API value:
STDLIB_NAPI_CREATE_DOUBLE( env, fcn( value ), out );
return out;
}
The macro expects the following arguments:
- env: environment under which the callback is invoked.
- expression: expression returning a double-precision floating-point number.
- name: output variable name.