@stdlib/complex-float32-base 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE CHANGED
@@ -1 +1 @@
1
- Copyright (c) 2016-2024 The Stdlib Authors.
1
+ Copyright (c) 2016-2026 The Stdlib Authors.
package/README.md CHANGED
@@ -81,7 +81,11 @@ The namespace contains the following functions:
81
81
  <div class="namespace-toc">
82
82
 
83
83
  - <span class="signature">[`add( z1, z2 )`][@stdlib/complex/float32/base/add]</span><span class="delimiter">: </span><span class="description">add two single-precision complex floating-point numbers.</span>
84
+ - <span class="signature">[`identity( z )`][@stdlib/complex/float32/base/identity]</span><span class="delimiter">: </span><span class="description">evaluate the identity function of a single-precision complex floating-point number.</span>
84
85
  - <span class="signature">[`mul( z1, z2 )`][@stdlib/complex/float32/base/mul]</span><span class="delimiter">: </span><span class="description">multiply two single-precision complex floating-point numbers.</span>
86
+ - <span class="signature">[`neg( z )`][@stdlib/complex/float32/base/neg]</span><span class="delimiter">: </span><span class="description">negate a single-precision complex floating-point number.</span>
87
+ - <span class="signature">[`scale( alpha, c )`][@stdlib/complex/float32/base/scale]</span><span class="delimiter">: </span><span class="description">scale a single-precision complex floating-point number by a real-valued single-precision floating-point scalar constant.</span>
88
+ - <span class="signature">[`sub( z1, z2 )`][@stdlib/complex/float32/base/sub]</span><span class="delimiter">: </span><span class="description">subtract two single-precision complex floating-point numbers.</span>
85
89
 
86
90
  </div>
87
91
 
@@ -152,7 +156,7 @@ See [LICENSE][stdlib-license].
152
156
 
153
157
  ## Copyright
154
158
 
155
- Copyright &copy; 2016-2024. The Stdlib [Authors][stdlib-authors].
159
+ Copyright &copy; 2016-2026. The Stdlib [Authors][stdlib-authors].
156
160
 
157
161
  </section>
158
162
 
@@ -165,8 +169,8 @@ Copyright &copy; 2016-2024. The Stdlib [Authors][stdlib-authors].
165
169
  [npm-image]: http://img.shields.io/npm/v/@stdlib/complex-float32-base.svg
166
170
  [npm-url]: https://npmjs.org/package/@stdlib/complex-float32-base
167
171
 
168
- [test-image]: https://github.com/stdlib-js/complex-float32-base/actions/workflows/test.yml/badge.svg?branch=v0.1.0
169
- [test-url]: https://github.com/stdlib-js/complex-float32-base/actions/workflows/test.yml?query=branch:v0.1.0
172
+ [test-image]: https://github.com/stdlib-js/complex-float32-base/actions/workflows/test.yml/badge.svg?branch=v0.2.0
173
+ [test-url]: https://github.com/stdlib-js/complex-float32-base/actions/workflows/test.yml?query=branch:v0.2.0
170
174
 
171
175
  [coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/complex-float32-base/main.svg
172
176
  [coverage-url]: https://codecov.io/github/stdlib-js/complex-float32-base?branch=main
@@ -178,8 +182,8 @@ Copyright &copy; 2016-2024. The Stdlib [Authors][stdlib-authors].
178
182
 
179
183
  -->
180
184
 
181
- [chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
182
- [chat-url]: https://app.gitter.im/#/room/#stdlib-js_stdlib:gitter.im
185
+ [chat-image]: https://img.shields.io/badge/zulip-join_chat-brightgreen.svg
186
+ [chat-url]: https://stdlib.zulipchat.com
183
187
 
184
188
  [stdlib]: https://github.com/stdlib-js/stdlib
185
189
 
@@ -202,8 +206,16 @@ Copyright &copy; 2016-2024. The Stdlib [Authors][stdlib-authors].
202
206
 
203
207
  [@stdlib/complex/float32/base/add]: https://www.npmjs.com/package/@stdlib/complex-float32-base-add
204
208
 
209
+ [@stdlib/complex/float32/base/identity]: https://www.npmjs.com/package/@stdlib/complex-float32-base-identity
210
+
205
211
  [@stdlib/complex/float32/base/mul]: https://www.npmjs.com/package/@stdlib/complex-float32-base-mul
206
212
 
213
+ [@stdlib/complex/float32/base/neg]: https://www.npmjs.com/package/@stdlib/complex-float32-base-neg
214
+
215
+ [@stdlib/complex/float32/base/scale]: https://www.npmjs.com/package/@stdlib/complex-float32-base-scale
216
+
217
+ [@stdlib/complex/float32/base/sub]: https://www.npmjs.com/package/@stdlib/complex-float32-base-sub
218
+
207
219
  [@stdlib/complex/float32/base/assert]: https://www.npmjs.com/package/@stdlib/complex-float32-base-assert
208
220
 
209
221
  <!-- </toc-links> -->
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var r=require('@stdlib/utils-define-read-only-property/dist'),e={};r(e,"add",require('@stdlib/complex-float32-base-add/dist'));r(e,"assert",require('@stdlib/complex-float32-base-assert/dist'));r(e,"mul",require('@stdlib/complex-float32-base-mul/dist'));module.exports=e;
1
+ "use strict";var r=require('@stdlib/utils-define-read-only-property/dist'),e={};r(e,"add",require('@stdlib/complex-float32-base-add/dist'));r(e,"assert",require('@stdlib/complex-float32-base-assert/dist'));r(e,"identity",require('@stdlib/complex-float32-base-identity/dist'));r(e,"mul",require('@stdlib/complex-float32-base-mul/dist'));r(e,"neg",require('@stdlib/complex-float32-base-neg/dist'));r(e,"scale",require('@stdlib/complex-float32-base-scale/dist'));r(e,"sub",require('@stdlib/complex-float32-base-sub/dist'));module.exports=e;
2
2
  /** @license Apache-2.0 */
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../lib/index.js"],
4
- "sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name add\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/complex/float32/base/add}\n*/\nsetReadOnly( ns, 'add', require( '@stdlib/complex-float32-base-add' ) );\n\n/**\n* @name assert\n* @memberof ns\n* @readonly\n* @type {Namespace}\n* @see {@link module:@stdlib/complex/float32/base/assert}\n*/\nsetReadOnly( ns, 'assert', require( '@stdlib/complex-float32-base-assert' ) );\n\n/**\n* @name mul\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/complex/float32/base/mul}\n*/\nsetReadOnly( ns, 'mul', require( '@stdlib/complex-float32-base-mul' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n"],
5
- "mappings": "aA0BA,IAAIA,EAAc,QAAS,yCAA0C,EAUjEC,EAAK,CAAC,EASVD,EAAaC,EAAI,MAAO,QAAS,kCAAmC,CAAE,EAStED,EAAaC,EAAI,SAAU,QAAS,qCAAsC,CAAE,EAS5ED,EAAaC,EAAI,MAAO,QAAS,kCAAmC,CAAE,EAKtE,OAAO,QAAUA",
4
+ "sourcesContent": ["/**\n* @license Apache-2.0\n*\n* Copyright (c) 2024 The Stdlib Authors.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n\n'use strict';\n\n/*\n* When adding modules to the namespace, ensure that they are added in alphabetical order according to module name.\n*/\n\n// MODULES //\n\nvar setReadOnly = require( '@stdlib/utils-define-read-only-property' );\n\n\n// MAIN //\n\n/**\n* Top-level namespace.\n*\n* @namespace ns\n*/\nvar ns = {};\n\n/**\n* @name add\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/complex/float32/base/add}\n*/\nsetReadOnly( ns, 'add', require( '@stdlib/complex-float32-base-add' ) );\n\n/**\n* @name assert\n* @memberof ns\n* @readonly\n* @type {Namespace}\n* @see {@link module:@stdlib/complex/float32/base/assert}\n*/\nsetReadOnly( ns, 'assert', require( '@stdlib/complex-float32-base-assert' ) );\n\n/**\n* @name identity\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/complex/float32/base/identity}\n*/\nsetReadOnly( ns, 'identity', require( '@stdlib/complex-float32-base-identity' ) );\n\n/**\n* @name mul\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/complex/float32/base/mul}\n*/\nsetReadOnly( ns, 'mul', require( '@stdlib/complex-float32-base-mul' ) );\n\n/**\n* @name neg\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/complex/float32/base/neg}\n*/\nsetReadOnly( ns, 'neg', require( '@stdlib/complex-float32-base-neg' ) );\n\n/**\n* @name scale\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/complex/float32/base/scale}\n*/\nsetReadOnly( ns, 'scale', require( '@stdlib/complex-float32-base-scale' ) );\n\n/**\n* @name sub\n* @memberof ns\n* @readonly\n* @type {Function}\n* @see {@link module:@stdlib/complex/float32/base/sub}\n*/\nsetReadOnly( ns, 'sub', require( '@stdlib/complex-float32-base-sub' ) );\n\n\n// EXPORTS //\n\nmodule.exports = ns;\n"],
5
+ "mappings": "aA0BA,IAAIA,EAAc,QAAS,yCAA0C,EAUjEC,EAAK,CAAC,EASVD,EAAaC,EAAI,MAAO,QAAS,kCAAmC,CAAE,EAStED,EAAaC,EAAI,SAAU,QAAS,qCAAsC,CAAE,EAS5ED,EAAaC,EAAI,WAAY,QAAS,uCAAwC,CAAE,EAShFD,EAAaC,EAAI,MAAO,QAAS,kCAAmC,CAAE,EAStED,EAAaC,EAAI,MAAO,QAAS,kCAAmC,CAAE,EAStED,EAAaC,EAAI,QAAS,QAAS,oCAAqC,CAAE,EAS1ED,EAAaC,EAAI,MAAO,QAAS,kCAAmC,CAAE,EAKtE,OAAO,QAAUA",
6
6
  "names": ["setReadOnly", "ns"]
7
7
  }
@@ -22,7 +22,11 @@
22
22
 
23
23
  import add = require( '@stdlib/complex-float32-base-add' );
24
24
  import assert = require( '@stdlib/complex-float32-base-assert' );
25
+ import identity = require( '@stdlib/complex-float32-base-identity' );
25
26
  import mul = require( '@stdlib/complex-float32-base-mul' );
27
+ import neg = require( '@stdlib/complex-float32-base-neg' );
28
+ import scale = require( '@stdlib/complex-float32-base-scale' );
29
+ import sub = require( '@stdlib/complex-float32-base-sub' );
26
30
 
27
31
  /**
28
32
  * Interface describing the `base` namespace.
@@ -37,20 +41,30 @@ interface Namespace {
37
41
  *
38
42
  * @example
39
43
  * var Complex64 = require( '@stdlib/complex-float32-ctor' );
40
- * var realf = require( '@stdlib/complex-float32-real' );
41
- * var imagf = require( '@stdlib/complex-float32-imag' );
42
44
  *
43
45
  * var z = new Complex64( 5.0, 3.0 );
44
- * // returns <Complex64>
45
46
  *
46
47
  * var out = ns.add( z, z );
47
- * // returns <Complex64>
48
+ * // returns <Complex64>[ 10.0, 6.0 ]
48
49
  *
49
- * var re = realf( out );
50
- * // returns 10.0
50
+ * @example
51
+ * var Float32Array = require( '@stdlib/array-float32' );
52
+ *
53
+ * var out = new Float32Array( 2 );
54
+ * var v = ns.add.assign( 5.0, 3.0, 5.0, 3.0, out, 1, 0 );
55
+ * // returns <Float32Array>[ 10.0, 6.0 ]
56
+ *
57
+ * var bool = ( out === v );
58
+ * // returns true
59
+ *
60
+ * @example
61
+ * var Float32Array = require( '@stdlib/array-float32' );
51
62
  *
52
- * var im = imagf( out );
53
- * // returns 6.0
63
+ * var z1 = new Float32Array( [ 5.0, 3.0 ] );
64
+ * var z2 = new Float32Array( [ 5.0, 3.0 ] );
65
+ *
66
+ * var out = ns.add.strided( z1, 1, 0, z2, 1, 0, new Float32Array( 2 ), 1, 0 );
67
+ * // returns <Float32Array>[ 10.0, 6.0 ]
54
68
  */
55
69
  add: typeof add;
56
70
 
@@ -59,6 +73,20 @@ interface Namespace {
59
73
  */
60
74
  assert: typeof assert;
61
75
 
76
+ /**
77
+ * Evaluates the identity function for single-precision complex floating-point number.
78
+ *
79
+ * @param z - input value
80
+ * @returns input value
81
+ *
82
+ * @example
83
+ * var Complex64 = require( '@stdlib/complex-float32-ctor' );
84
+ *
85
+ * var v = ns.identity( new Complex64( -1.0, 2.0 ) );
86
+ * // returns <Complex64>[ -1.0, 2.0 ]
87
+ */
88
+ identity: typeof identity;
89
+
62
90
  /**
63
91
  * Multiplies two single-precision complex floating-point numbers.
64
92
  *
@@ -68,25 +96,118 @@ interface Namespace {
68
96
  *
69
97
  * @example
70
98
  * var Complex64 = require( '@stdlib/complex-float32-ctor' );
71
- * var realf = require( '@stdlib/complex-float32-real' );
72
- * var imagf = require( '@stdlib/complex-float32-imag' );
73
99
  *
74
100
  * var z1 = new Complex64( 5.0, 3.0 );
75
- * // returns <Complex64>
76
- *
77
101
  * var z2 = new Complex64( -2.0, 1.0 );
78
- * // returns <Complex64>
79
102
  *
80
103
  * var out = ns.mul( z1, z2 );
81
- * // returns <Complex64>
104
+ * // returns <Complex64>[ -13.0, -1.0 ]
82
105
  *
83
- * var re = realf( out );
84
- * // returns -13.0
106
+ * @example
107
+ * var Float32Array = require( '@stdlib/array-float32' );
108
+ *
109
+ * var out = new Float32Array( 2 );
110
+ * var v = ns.mul.assign( 5.0, 3.0, -2.0, 1.0, out, 1, 0 );
111
+ * // returns <Float32Array>[ -13.0, -1.0 ]
85
112
  *
86
- * var im = imagf( out );
87
- * // returns -1.0
113
+ * var bool = ( out === v );
114
+ * // returns true
115
+ *
116
+ * @example
117
+ * var Float32Array = require( '@stdlib/array-float32' );
118
+ *
119
+ * var z1 = new Float32Array( [ 5.0, 3.0 ] );
120
+ * var z2 = new Float32Array( [ -2.0, 1.0 ] );
121
+ *
122
+ * var out = ns.mul.strided( z1, 1, 0, z2, 1, 0, new Float32Array( 2 ), 1, 0 );
123
+ * // returns <Float32Array>[ -13.0, -1.0 ]
88
124
  */
89
125
  mul: typeof mul;
126
+
127
+ /**
128
+ * Negates a single-precision complex floating-point number.
129
+ *
130
+ * @param z - complex number
131
+ * @returns result
132
+ *
133
+ * @example
134
+ * var Complex64 = require( '@stdlib/complex-float32-ctor' );
135
+ *
136
+ * var z = new Complex64( -4.2, 5.5 );
137
+ *
138
+ * var out = ns.neg( z );
139
+ * // returns <Complex64>[ ~4.2, -5.5 ]
140
+ *
141
+ * @example
142
+ * var Complex64 = require( '@stdlib/complex-float32-ctor' );
143
+ *
144
+ * var z = new Complex64( 0.0, 0.0 );
145
+ *
146
+ * var out = ns.neg( z );
147
+ * // returns <Complex64>[ -0.0, -0.0 ]
148
+ *
149
+ * @example
150
+ * var Complex64 = require( '@stdlib/complex-float32-ctor' );
151
+ *
152
+ * var z = new Complex64( NaN, NaN );
153
+ *
154
+ * var out = ns.neg( z );
155
+ * // returns <Complex64>[ NaN, NaN ]
156
+ */
157
+ neg: typeof neg;
158
+
159
+ /**
160
+ * Scales a single-precision complex floating-point number by a real-valued single-precision floating-point scalar constant.
161
+ *
162
+ * @param alpha - scalar constant
163
+ * @param z - complex number
164
+ * @returns result
165
+ *
166
+ * @example
167
+ * var Complex64 = require( '@stdlib/complex-float32-ctor' );
168
+ *
169
+ * var z = new Complex64( 5.0, 3.0 );
170
+ *
171
+ * var out = ns.scale( 5.0, z );
172
+ * // returns <Complex64>[ 25.0, 15.0 ]
173
+ *
174
+ * @example
175
+ * var Float32Array = require( '@stdlib/array-float32' );
176
+ *
177
+ * var out = new Float32Array( 2 );
178
+ * var v = ns.scale.assign( 5.0, 5.0, 3.0, out, 1, 0 );
179
+ * // returns <Float32Array>[ 25.0, 15.0 ]
180
+ *
181
+ * var bool = ( out === v );
182
+ * // returns true
183
+ *
184
+ * @example
185
+ * var Float32Array = require( '@stdlib/array-float32' );
186
+ *
187
+ * var z = new Float32Array( [ 5.0, 3.0 ] );
188
+ *
189
+ * var out = ns.scale.strided( 5.0, z, 1, 0, new Float32Array( 2 ), 1, 0 );
190
+ * // returns <Float32Array>[ 25.0, 15.0 ]
191
+ */
192
+ scale: typeof scale;
193
+
194
+ /**
195
+ * Subtracts two single-precision complex floating-point numbers.
196
+ *
197
+ * @param z1 - complex number
198
+ * @param z2 - complex number
199
+ * @returns result
200
+ *
201
+ * @example
202
+ * var Complex64 = require( '@stdlib/complex-float32-ctor' );
203
+ *
204
+ * var z1 = new Complex64( 5.0, 3.0 );
205
+ * var z2 = new Complex64( -2.0, 1.0 );
206
+ *
207
+ * var out = ns.sub( z1, z2 );
208
+ * // returns <Complex64>[ 7.0, 2.0 ]
209
+ */
210
+ sub: typeof sub;
90
211
  }
91
212
 
92
213
  /**
package/lib/index.js CHANGED
@@ -54,6 +54,15 @@ setReadOnly( ns, 'add', require( '@stdlib/complex-float32-base-add' ) );
54
54
  */
55
55
  setReadOnly( ns, 'assert', require( '@stdlib/complex-float32-base-assert' ) );
56
56
 
57
+ /**
58
+ * @name identity
59
+ * @memberof ns
60
+ * @readonly
61
+ * @type {Function}
62
+ * @see {@link module:@stdlib/complex/float32/base/identity}
63
+ */
64
+ setReadOnly( ns, 'identity', require( '@stdlib/complex-float32-base-identity' ) );
65
+
57
66
  /**
58
67
  * @name mul
59
68
  * @memberof ns
@@ -63,6 +72,33 @@ setReadOnly( ns, 'assert', require( '@stdlib/complex-float32-base-assert' ) );
63
72
  */
64
73
  setReadOnly( ns, 'mul', require( '@stdlib/complex-float32-base-mul' ) );
65
74
 
75
+ /**
76
+ * @name neg
77
+ * @memberof ns
78
+ * @readonly
79
+ * @type {Function}
80
+ * @see {@link module:@stdlib/complex/float32/base/neg}
81
+ */
82
+ setReadOnly( ns, 'neg', require( '@stdlib/complex-float32-base-neg' ) );
83
+
84
+ /**
85
+ * @name scale
86
+ * @memberof ns
87
+ * @readonly
88
+ * @type {Function}
89
+ * @see {@link module:@stdlib/complex/float32/base/scale}
90
+ */
91
+ setReadOnly( ns, 'scale', require( '@stdlib/complex-float32-base-scale' ) );
92
+
93
+ /**
94
+ * @name sub
95
+ * @memberof ns
96
+ * @readonly
97
+ * @type {Function}
98
+ * @see {@link module:@stdlib/complex/float32/base/sub}
99
+ */
100
+ setReadOnly( ns, 'sub', require( '@stdlib/complex-float32-base-sub' ) );
101
+
66
102
 
67
103
  // EXPORTS //
68
104
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stdlib/complex-float32-base",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Base (i.e., lower-level) single-precision complex number functions.",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -30,9 +30,13 @@
30
30
  "url": "https://github.com/stdlib-js/stdlib/issues"
31
31
  },
32
32
  "dependencies": {
33
- "@stdlib/complex-float32-base-add": "^0.1.0",
33
+ "@stdlib/complex-float32-base-add": "^0.2.0",
34
34
  "@stdlib/complex-float32-base-assert": "^0.1.1",
35
- "@stdlib/complex-float32-base-mul": "^0.1.0",
35
+ "@stdlib/complex-float32-base-identity": "^0.1.0",
36
+ "@stdlib/complex-float32-base-mul": "^0.2.0",
37
+ "@stdlib/complex-float32-base-neg": "^0.1.0",
38
+ "@stdlib/complex-float32-base-scale": "^0.1.0",
39
+ "@stdlib/complex-float32-base-sub": "^0.1.0",
36
40
  "@stdlib/utils-define-read-only-property": "^0.2.2"
37
41
  },
38
42
  "devDependencies": {},