
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
@stdlib/complex
Advanced tools
We believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we've built stdlib. stdlib is a standard library, with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js.
The library is fully decomposable, being architected in such a way that you can swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.
When you use stdlib, you can be absolutely certain that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code out there.
To join us in bringing numerical computing to the web, get started by checking us out on GitHub, and please consider financially supporting stdlib. We greatly appreciate your continued support!
Complex number data types.
npm install @stdlib/complex
var ns = require( '@stdlib/complex' );
Complex number data types.
var o = ns;
// returns {...}
The namespace constains complex number constructors.
base
: base (i.e., lower-level) complex number functions.complex( real, imag[, dtype] )
: create a complex number.complexCtors( dtype )
: complex number constructors.complexDataType( value )
: return the data type of a complex number.complexDataTypes()
: list of complex number data types.Complex64( real, imag )
: 64-bit complex number.Complex128( real, imag )
: 128-bit complex number.complexPromotionRules( [dtype1, dtype2] )
: return the complex number data type with the smallest size and closest "kind" to which data types can be safely cast.var z = ns.complex( 5.0, 3.0 );
// returns <Complex128>
var str = z.toString();
// returns '5 + 3i'
z = ns.complex( 5.0, 3.0, 'float32' );
// returns <Complex64>
z = new ns.Complex64( 5.0, 3.0 );
// returns <Complex64>
In addition, the namespace contains the following functions:
conj( z )
: return the complex conjugate of a double-precision complex floating-point number.conjf( z )
: return the complex conjugate of a single-precision complex floating-point number.imag( z )
: return the imaginary component of a double-precision complex floating-point number.imagf( z )
: return the imaginary component of a single-precision complex floating-point number.real( z )
: return the real component of a double-precision complex floating-point number.realf( z )
: return the real component of a single-precision complex floating-point number.reim( z )
: return the real and imaginary components of a double-precision complex floating-point number.reimf( z )
: return the real and imaginary components of a single-precision complex floating-point number.reviveComplex64( key, value )
: revive a JSON-serialized 64-bit complex number.reviveComplex128( key, value )
: revive a JSON-serialized 128-bit complex number.reviveComplex( key, value )
: revive a JSON-serialized complex number.var z = ns.complex( 5.0, 3.0 );
var str = z.toString();
// returns '5 + 3i'
var v = ns.conj( z );
str = v.toString();
// returns '5 - 3i'
var objectKeys = require( '@stdlib/utils/keys' );
var ns = require( '@stdlib/complex' );
console.log( objectKeys( ns ) );
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-2023. The Stdlib Authors.
0.1.0 (2023-11-08)
<section class="features">9768c66
- update minimum TypeScript version32a2827
- update import paths for complex type defs9768c66
: update minimum TypeScript version to 4.1
d73bbf4
- build: replace lint directives (by Philipp Burckhardt)ac78ce0
- build: remove tslint directives (by Philipp Burckhardt)453dd85
- build: remove tslint directives (by Philipp Burckhardt)9768c66
- feat: update minimum TypeScript version (by Philipp Burckhardt)32a2827
- fix: update import paths for complex type defs (by Athan Reines)ab5d324
- chore: resolve lint errors (by Philipp Burckhardt)2e197bc
- test: use strictEqual checks (by Philipp Burckhardt)07cc80b
- docs: resolve C lint errors (by Athan Reines)28e1c84
- docs: resolve C lint errors (by Athan Reines)A total of 2 people contributed to this release. Thank you to the following contributors:
FAQs
Complex numbers.
The npm package @stdlib/complex receives a total of 14,146 weekly downloads. As such, @stdlib/complex popularity was classified as popular.
We found that @stdlib/complex demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 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
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.