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/complex-float64
Advanced tools
@stdlib/complex-float64 is a package for creating and manipulating double-precision complex numbers in JavaScript. It provides a variety of utilities for complex number arithmetic, including creation, basic operations, and conversions.
Creating a Complex Number
This feature allows you to create a new double-precision complex number. The example creates a complex number with a real part of 5.0 and an imaginary part of 3.0.
const Complex64 = require('@stdlib/complex-float64');
const z = new Complex64(5.0, 3.0);
console.log(z);
Basic Arithmetic Operations
This feature allows you to perform basic arithmetic operations on complex numbers. The example demonstrates how to add two complex numbers.
const Complex64 = require('@stdlib/complex-float64');
const z1 = new Complex64(5.0, 3.0);
const z2 = new Complex64(2.0, 1.0);
const sum = z1.add(z2);
console.log(sum);
Converting to String
This feature allows you to convert a complex number to a string representation. The example converts a complex number to its string form.
const Complex64 = require('@stdlib/complex-float64');
const z = new Complex64(5.0, 3.0);
console.log(z.toString());
complex.js is a library for complex number arithmetic in JavaScript. It provides a comprehensive set of functions for complex number operations, including addition, subtraction, multiplication, division, and more. Compared to @stdlib/complex-float64, complex.js offers a more extensive set of mathematical functions and utilities for complex numbers.
mathjs is an extensive mathematics library for JavaScript and Node.js. It includes support for complex numbers, matrices, units, and more. The complex number functionality in mathjs is part of a larger suite of mathematical tools, making it a more versatile but also more heavyweight option compared to @stdlib/complex-float64.
128-bit complex number.
npm install @stdlib/complex-float64
var Complex128 = require( '@stdlib/complex-float64' );
128-bit complex number constructor, where real
and imag
are the real and imaginary components, respectively.
var z = new Complex128( 5.0, 3.0 );
// returns <Complex128>
Size (in bytes) of each component.
var nbytes = Complex128.BYTES_PER_ELEMENT;
// returns 8
Size (in bytes) of each component.
var z = new Complex128( 5.0, 3.0 );
var nbytes = z.BYTES_PER_ELEMENT;
// returns 8
Length (in bytes) of a complex number.
var z = new Complex128( 5.0, 3.0 );
var nbytes = z.byteLength;
// returns 16
A Complex128
instance has the following properties...
A read-only property returning the real component.
var z = new Complex128( 5.0, 3.0 );
var re = z.re;
// returns 5.0
A read-only property returning the imaginary component.
var z = new Complex128( 5.0, -3.0 );
var im = z.im;
// returns -3.0
These methods do not mutate a Complex128
instance and, instead, return a complex number representation.
Returns a string
representation of a Complex128
instance.
var z = new Complex128( 5.0, 3.0 );
var str = z.toString();
// returns '5 + 3i'
z = new Complex128( -5.0, -3.0 );
str = z.toString();
// returns '-5 - 3i'
Returns a JSON representation of a Complex128
instance. JSON.stringify()
implicitly calls this method when stringifying a Complex128
instance.
var z = new Complex128( 5.0, -3.0 );
var o = z.toJSON();
/*
{
"type": "Complex128",
"re": 5.0,
"im": -3.0
}
*/
To revive a Complex128
number from a JSON string
, see @stdlib/complex/reviver-float64.
var Complex128 = require( '@stdlib/complex-float64' );
var z = new Complex128( 3.0, -2.0 );
console.log( 'type: %s', typeof z );
// => type: object
console.log( 'str: %s', z );
// => str: 3 - 2i
console.log( 'real: %d', z.re );
// => real: 3.0
console.log( 'imag: %d', z.im );
// => imag: -2.0
console.log( 'JSON: %s', JSON.stringify( z ) );
// => JSON: {"type":"Complex128","re":3,"im":-2}
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.3 (2021-06-16)
No changes reported for this release.
</section> <!-- /.release --> <section class="release" id="v0.0.2">FAQs
Double-precision complex number functions.
The npm package @stdlib/complex-float64 receives a total of 277,255 weekly downloads. As such, @stdlib/complex-float64 popularity was classified as popular.
We found that @stdlib/complex-float64 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
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.