@stdlib/array-complex64 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.
@@ -1,3 +1,5 @@
1
+ /* eslint-disable max-lines */
2
+
1
3
  /*
2
4
  * @license Apache-2.0
3
5
  *
@@ -28,6 +30,171 @@ import ArrayBuffer = require( '@stdlib/array-buffer' );
28
30
  // Define a union type representing both iterable and non-iterable iterators:
29
31
  type Iterator = Iter | IterableIterator;
30
32
 
33
+ /**
34
+ * Callback invoked for each element in a source object.
35
+ *
36
+ * @returns transformed value
37
+ */
38
+ type FromNullary<U> = ( this: U ) => ComplexLike | ArrayLike<number>;
39
+
40
+ /**
41
+ * Callback invoked for each element in a source object.
42
+ *
43
+ * @param value - source element
44
+ * @returns transformed value
45
+ */
46
+ type FromUnary<U> = ( this: U, value: ComplexLike | ArrayLike<number> | number ) => ComplexLike | ArrayLike<number>;
47
+
48
+ /**
49
+ * Callback invoked for each element in a source object.
50
+ *
51
+ * @param value - source element
52
+ * @param index - source element index
53
+ * @returns transformed value
54
+ */
55
+ type FromBinary<U> = ( this: U, value: ComplexLike | ArrayLike<number> | number, index: number ) => ComplexLike | ArrayLike<number>;
56
+
57
+ /**
58
+ * Callback invoked for each element in a source object.
59
+ *
60
+ * @param value - source element
61
+ * @param index - source element index
62
+ * @returns transformed value
63
+ */
64
+ type FromCallback<U> = FromNullary<U> | FromUnary<U> | FromBinary<U>;
65
+
66
+ /**
67
+ * Checks whether an element in an array passes a test.
68
+ *
69
+ * @returns boolean indicating whether an element in an array passes a test
70
+ */
71
+ type NullaryPredicate<U> = ( this: U ) => boolean;
72
+
73
+ /**
74
+ * Checks whether an element in an array passes a test.
75
+ *
76
+ * @param value - current array element
77
+ * @returns boolean indicating whether an element in an array passes a test
78
+ */
79
+ type UnaryPredicate<U> = ( this: U, value: Complex64 ) => boolean;
80
+
81
+ /**
82
+ * Checks whether an element in an array passes a test.
83
+ *
84
+ * @param value - current array element
85
+ * @param index - current array element index
86
+ * @returns boolean indicating whether an element in an array passes a test
87
+ */
88
+ type BinaryPredicate<U> = ( this: U, value: Complex64, index: number ) => boolean;
89
+
90
+ /**
91
+ * Checks whether an element in an array passes a test.
92
+ *
93
+ * @param value - current array element
94
+ * @param index - current array element index
95
+ * @param arr - array on which the method was called
96
+ * @returns boolean indicating whether an element in an array passes a test
97
+ */
98
+ type TernaryPredicate<U> = ( this: U, value: Complex64, index: number, arr: Complex64Array ) => boolean;
99
+
100
+ /**
101
+ * Checks whether an element in an array passes a test.
102
+ *
103
+ * @param value - current array element
104
+ * @param index - current array element index
105
+ * @param arr - array on which the method was called
106
+ * @returns boolean indicating whether an element in an array passes a test
107
+ */
108
+ type Predicate<U> = NullaryPredicate<U> | UnaryPredicate<U> | BinaryPredicate<U> | TernaryPredicate<U>;
109
+
110
+ /**
111
+ * Callback invoked for each element in an array.
112
+ *
113
+ * @returns undefined
114
+ */
115
+ type NullaryCallback<U> = ( this: U ) => void;
116
+
117
+ /**
118
+ * Callback invoked for each element in an array.
119
+ *
120
+ * @param value - current array element
121
+ * @returns undefined
122
+ */
123
+ type UnaryCallback<U> = ( this: U, value: Complex64 ) => void;
124
+
125
+ /**
126
+ * Callback invoked for each element in an array.
127
+ *
128
+ * @param value - current array element
129
+ * @param index - current array element index
130
+ * @returns undefined
131
+ */
132
+ type BinaryCallback<U> = ( this: U, value: Complex64, index: number ) => void;
133
+
134
+ /**
135
+ * Callback invoked for each element in an array.
136
+ *
137
+ * @param value - current array element
138
+ * @param index - current array element index
139
+ * @param arr - array on which the method was called
140
+ * @returns undefined
141
+ */
142
+ type TernaryCallback<U> = ( this: U, value: Complex64, index: number, arr: Complex64Array ) => void;
143
+
144
+ /**
145
+ * Callback invoked for each element in an array.
146
+ *
147
+ * @param value - current array element
148
+ * @param index - current array element index
149
+ * @param arr - array on which the method was called
150
+ * @returns undefined
151
+ */
152
+ type Callback<U> = NullaryCallback<U> | UnaryCallback<U> | BinaryCallback<U> | TernaryCallback<U>;
153
+
154
+ /**
155
+ * Callback invoked for each element in an array.
156
+ *
157
+ * @returns transformed value
158
+ */
159
+ type NullaryMapFcn<U> = ( this: U ) => ComplexLike | ArrayLike<number>;
160
+
161
+ /**
162
+ * Callback invoked for each element in an array.
163
+ *
164
+ * @param value - current array element
165
+ * @returns transformed value
166
+ */
167
+ type UnaryMapFcn<U> = ( this: U, value: Complex64 ) => ComplexLike | ArrayLike<number>;
168
+
169
+ /**
170
+ * Callback invoked for each element in an array.
171
+ *
172
+ * @param value - current array element
173
+ * @param index - current array element index
174
+ * @returns transformed value
175
+ */
176
+ type BinaryMapFcn<U> = ( this: U, value: Complex64, index: number ) => ComplexLike | ArrayLike<number>;
177
+
178
+ /**
179
+ * Callback invoked for each element in an array.
180
+ *
181
+ * @param value - current array element
182
+ * @param index - current array element index
183
+ * @param arr - array on which the method was called
184
+ * @returns transformed value
185
+ */
186
+ type TernaryMapFcn<U> = ( this: U, value: Complex64, index: number, arr: Complex64Array ) => ComplexLike | ArrayLike<number>;
187
+
188
+ /**
189
+ * Callback invoked for each element in an array.
190
+ *
191
+ * @param value - current array element
192
+ * @param index - current array element index
193
+ * @param arr - array on which the method was called
194
+ * @returns transformed value
195
+ */
196
+ type MapFcn<U> = NullaryMapFcn<U> | UnaryMapFcn<U> | BinaryMapFcn<U> | TernaryMapFcn<U>;
197
+
31
198
  /**
32
199
  * Class for creating a 64-bit complex number array.
33
200
  */
@@ -70,7 +237,7 @@ declare class Complex64Array implements Complex64ArrayInterface {
70
237
  * // returns 1
71
238
  *
72
239
  * @example
73
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
240
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
74
241
  *
75
242
  * var buf = new ArrayBuffer( 16 );
76
243
  * var arr = new Complex64Array( buf );
@@ -80,7 +247,7 @@ declare class Complex64Array implements Complex64ArrayInterface {
80
247
  * // returns 2
81
248
  *
82
249
  * @example
83
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
250
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
84
251
  *
85
252
  * var buf = new ArrayBuffer( 16 );
86
253
  * var arr = new Complex64Array( buf, 8 );
@@ -90,7 +257,7 @@ declare class Complex64Array implements Complex64ArrayInterface {
90
257
  * // returns 1
91
258
  *
92
259
  * @example
93
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
260
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
94
261
  *
95
262
  * var buf = new ArrayBuffer( 32 );
96
263
  * var arr = new Complex64Array( buf, 8, 2 );
@@ -99,7 +266,34 @@ declare class Complex64Array implements Complex64ArrayInterface {
99
266
  * var len = arr.length;
100
267
  * // returns 2
101
268
  */
102
- constructor( arg?: number | RealOrComplexTypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ); // tslint:disable-line:max-line-length
269
+ constructor( arg?: number | RealOrComplexTypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number );
270
+
271
+ /**
272
+ * Returns an array element with support for both nonnegative and negative integer indices.
273
+ *
274
+ * @param i - element index
275
+ * @throws index argument must be a integer
276
+ * @returns array element
277
+ *
278
+ * @example
279
+ * var arr = new Complex64Array( 10 );
280
+ *
281
+ * var z = arr.at( 0 );
282
+ * // returns <Complex64>
283
+ *
284
+ * arr.set( [ 1.0, -1.0 ], 0 );
285
+ * arr.set( [ 9.0, -9.0 ], 9 );
286
+ *
287
+ * z = arr.get( -1 )
288
+ * // return <Complex64>
289
+ *
290
+ * z = arr.at( 100 );
291
+ * // returns undefined
292
+ *
293
+ * z = arr.at( -100 );
294
+ * // returns undefined
295
+ */
296
+ at( i: number ): Complex64 | void;
103
297
 
104
298
  /**
105
299
  * Length (in bytes) of the array.
@@ -154,9 +348,9 @@ declare class Complex64Array implements Complex64ArrayInterface {
154
348
  * @returns modified array
155
349
  *
156
350
  * @example
157
- * var Complex64 = require( `@stdlib/complex/float32` );
158
- * var realf = require( `@stdlib/complex/realf` );
159
- * var imagf = require( `@stdlib/complex/imagf` );
351
+ * var Complex64 = require( '@stdlib/complex-float32' );
352
+ * var realf = require( '@stdlib/complex-realf' );
353
+ * var imagf = require( '@stdlib/complex-imagf' );
160
354
  *
161
355
  * var arr = new Complex64Array( 4 );
162
356
  *
@@ -186,7 +380,7 @@ declare class Complex64Array implements Complex64ArrayInterface {
186
380
  * @returns iterator
187
381
  *
188
382
  * @example
189
- * var Complex64 = require( `@stdlib/complex/float32` );
383
+ * var Complex64 = require( '@stdlib/complex-float32' );
190
384
  *
191
385
  * var arr = [
192
386
  * new Complex64( 1.0, 1.0 ),
@@ -213,6 +407,253 @@ declare class Complex64Array implements Complex64ArrayInterface {
213
407
  */
214
408
  entries(): Iterator;
215
409
 
410
+ /**
411
+ * Tests whether all elements in an array pass a test implemented by a predicate function.
412
+ *
413
+ * @param predicate - test function
414
+ * @param thisArg - execution context
415
+ * @returns boolean indicating whether all elements pass a test
416
+ *
417
+ * @example
418
+ * var realf = require( '@stdlib/complex-realf' );
419
+ * var imagf = require( '@stdlib/complex-imagf' );
420
+ *
421
+ * function predicate( v ) {
422
+ * return ( realf( v ) === imagf( v ) );
423
+ * }
424
+ *
425
+ * var arr = new Complex64Array( 3 );
426
+ *
427
+ * arr.set( [ 1.0 , 1.0 ], 0 );
428
+ * arr.set( [ 2.0 , 2.0 ], 1 );
429
+ * arr.set( [ 3.0 , 3.0 ], 2 );
430
+ *
431
+ * var bool = arr.every( predicate );
432
+ * // returns true
433
+ */
434
+ every<U = unknown>( predicate: Predicate<U>, thisArg?: ThisParameterType<Predicate<U>> ): boolean;
435
+
436
+ /**
437
+ * Returns a modified typed array filled with a fill value.
438
+ *
439
+ * @param value - fill value
440
+ * @param start - starting index (inclusive)
441
+ * @param end - ending index (exclusive)
442
+ * @returns modified typed array
443
+ *
444
+ * @example
445
+ * var realf = require( '@stdlib/complex-realf' );
446
+ * var imagf = require( '@stdlib/complex-imagf' );
447
+ *
448
+ * var arr = new Complex64Array( 3 );
449
+ *
450
+ * arr.fill( new Complex64( 1.0, 1.0 ), 1 );
451
+ *
452
+ * var z = arr.get( 1 );
453
+ * // returns <Complex64>
454
+ *
455
+ * var re = realf( z );
456
+ * // returns 1.0
457
+ *
458
+ * var im = imagf( z );
459
+ * // returns 1.0
460
+ *
461
+ * z = arr.get( 2 );
462
+ * // returns <Complex64>
463
+ *
464
+ * re = realf( z );
465
+ * // returns 1.0
466
+ *
467
+ * im = imagf( z );
468
+ * // returns 1.0
469
+ */
470
+ fill( value: ComplexLike, start?: number, end?: number ): Complex64Array;
471
+
472
+ /**
473
+ * Returns a new array containing the elements of an array which pass a test implemented by a predicate function.
474
+ *
475
+ * @param predicate - test function
476
+ * @param thisArg - execution context
477
+ * @returns new array containing elements which pass a test implemented by a predicate function
478
+ *
479
+ * @example
480
+ * var realf = require( '@stdlib/complex-realf' );
481
+ * var imagf = require( '@stdlib/complex-imagf' );
482
+ *
483
+ * function predicate( v ) {
484
+ * return ( realf( v ) === imagf( v ) );
485
+ * }
486
+ *
487
+ * var arr = new Complex64Array( 3 );
488
+ *
489
+ * arr.set( [ 1.0, -1.0 ], 0 );
490
+ * arr.set( [ 2.0, 2.0 ], 1 );
491
+ * arr.set( [ 3.0, -3.0 ], 2 );
492
+ *
493
+ * var out = arr.filter( predicate );
494
+ * // returns <Complex64Array>
495
+ *
496
+ * var len = out.length;
497
+ * // returns 1
498
+ *
499
+ * var z = out.get( 0 );
500
+ * // returns <Complex64>
501
+ *
502
+ * var re = realf( z );
503
+ * // returns 2.0
504
+ *
505
+ * var im = imagf( z );
506
+ * // returns 2.0
507
+ */
508
+ filter<U = unknown>( predicate: Predicate<U>, thisArg?: ThisParameterType<Predicate<U>> ): Complex64Array;
509
+
510
+ /**
511
+ * Returns the first element in an array for which a predicate function returns a truthy value.
512
+ *
513
+ * @param predicate - test function
514
+ * @param thisArg - execution context
515
+ * @returns array element or undefined
516
+ *
517
+ * @example
518
+ * var realf = require( '@stdlib/complex-realf' );
519
+ * var imagf = require( '@stdlib/complex-imagf' );
520
+ * var Complex64 = require( '@stdlib/complex-float32' );
521
+ *
522
+ * function predicate( v ) {
523
+ * return ( realf( v ) === imagf( v ) );
524
+ * }
525
+ *
526
+ * var arr = new Complex64Array( 3 );
527
+ *
528
+ * arr.set( [ 1.0, 1.0 ], 0 );
529
+ * arr.set( [ 2.0, 2.0 ], 1 );
530
+ * arr.set( [ 3.0, 3.0 ], 2 );
531
+ *
532
+ * var z = arr.find( predicate );
533
+ * // returns <Complex64>
534
+ *
535
+ * var re = realf( z );
536
+ * // returns 1.0
537
+ *
538
+ * var im = imagf( z );
539
+ * // returns 1.0
540
+ */
541
+ find<U = unknown>( predicate: Predicate<U>, thisArg?: ThisParameterType<Predicate<U>> ): Complex64 | void;
542
+
543
+ /**
544
+ * Returns the index of the first element in an array for which a predicate function returns a truthy value.
545
+ *
546
+ * @param predicate - test function
547
+ * @param thisArg - execution context
548
+ * @returns index or -1
549
+ *
550
+ * @example
551
+ * var Complex64 = require( '@stdlib/complex-float32' );
552
+ * var realf = require( '@stdlib/complex-realf' );
553
+ * var imagf = require( '@stdlib/complex-imagf' );
554
+ *
555
+ * function predicate( v ) {
556
+ * return ( realf( v ) === imagf( v ) );
557
+ * }
558
+ *
559
+ * var arr = new Complex64Array( 3 );
560
+ *
561
+ * arr.set( [ 1.0, -1.0 ], 0 );
562
+ * arr.set( [ 2.0, -2.0 ], 1 );
563
+ * arr.set( [ 3.0, 3.0 ], 2 );
564
+ *
565
+ * var idx = arr.findIndex( predicate );
566
+ * // returns 2
567
+ */
568
+ findIndex<U = unknown>( predicate: Predicate<U>, thisArg?: ThisParameterType<Predicate<U>> ): number;
569
+
570
+ /**
571
+ * Returns the last element in an array for which a predicate function returns a truthy value.
572
+ *
573
+ * @param predicate - test function
574
+ * @param thisArg - execution context
575
+ * @returns array element or undefined
576
+ *
577
+ * @example
578
+ * var realf = require( '@stdlib/complex-realf' );
579
+ * var imagf = require( '@stdlib/complex-imagf' );
580
+ * var Complex64 = require( '@stdlib/complex-float32' );
581
+ *
582
+ * function predicate( v ) {
583
+ * return ( realf( v ) === imagf( v ) );
584
+ * }
585
+ *
586
+ * var arr = new Complex64Array( 3 );
587
+ *
588
+ * arr.set( [ 1.0, 1.0 ], 0 );
589
+ * arr.set( [ 2.0, 2.0 ], 1 );
590
+ * arr.set( [ 3.0, 3.0 ], 2 );
591
+ *
592
+ * var z = arr.findLast( predicate );
593
+ * // returns <Complex64>
594
+ *
595
+ * var re = realf( z );
596
+ * // returns 3.0
597
+ *
598
+ * var im = imagf( z );
599
+ * // returns 3.0
600
+ */
601
+ findLast<U = unknown>( predicate: Predicate<U>, thisArg?: ThisParameterType<Predicate<U>> ): Complex64 | void;
602
+
603
+ /**
604
+ * Returns the index of the last element in an array for which a predicate function returns a truthy value.
605
+ *
606
+ * @param predicate - test function
607
+ * @param thisArg - execution context
608
+ * @returns index or -1
609
+ *
610
+ * @example
611
+ * var Complex64 = require( '@stdlib/complex-float32' );
612
+ * var realf = require( '@stdlib/complex-realf' );
613
+ * var imagf = require( '@stdlib/complex-imagf' );
614
+ *
615
+ * function predicate( v ) {
616
+ * return ( realf( v ) === imagf( v ) );
617
+ * }
618
+ *
619
+ * var arr = new Complex64Array( 3 );
620
+ *
621
+ * arr.set( [ 1.0, 1.0 ], 0 );
622
+ * arr.set( [ 2.0, 2.0 ], 1 );
623
+ * arr.set( [ 3.0, -3.0 ], 2 );
624
+ *
625
+ * var idx = arr.findLastIndex( predicate );
626
+ * // returns 1
627
+ */
628
+ findLastIndex<U = unknown>( predicate: Predicate<U>, thisArg?: ThisParameterType<Predicate<U>> ): number;
629
+
630
+ /**
631
+ * Invokes a function once for each array element.
632
+ *
633
+ * @param fcn - function to invoke
634
+ * @param thisArg - execution context
635
+ * @returns undefined
636
+ *
637
+ * @example
638
+ * var Complex64 = require( '@stdlib/complex-float32' );
639
+ *
640
+ * function log( v, i ) {
641
+ * console.log( '%s: %s', i, v.toString() );
642
+ * }
643
+ *
644
+ * var arr = new Complex64Array( 3 );
645
+ *
646
+ * arr.set( [ 1.0, 1.0 ], 0 );
647
+ * arr.set( [ 2.0, 2.0 ], 1 );
648
+ * arr.set( [ 3.0, 3.0 ], 2 );
649
+ *
650
+ * arr.forEach( log );
651
+ * // => 0: 1 + 1i
652
+ * // => 1: 2 + 2i
653
+ * // => 2: 3 + 3i
654
+ */
655
+ forEach<U = unknown>( fcn: Callback<U>, thisArg?: ThisParameterType<Callback<U>> ): void;
656
+
216
657
  /**
217
658
  * Returns an array element.
218
659
  *
@@ -233,6 +674,192 @@ declare class Complex64Array implements Complex64ArrayInterface {
233
674
  */
234
675
  get( i: number ): Complex64 | void;
235
676
 
677
+ /**
678
+ * Returns a boolean indicating whether an array contains a provided value.
679
+ *
680
+ * @param searchElement - search element
681
+ * @param fromIndex - starting index (inclusive)
682
+ * @returns boolean indicating whether an array contains a provided value
683
+ *
684
+ * @example
685
+ * var arr = new Complex64Array( 5 );
686
+ *
687
+ * arr.set( [ 1.0, -1.0 ], 0 );
688
+ * arr.set( [ 2.0, -2.0 ], 1 );
689
+ * arr.set( [ 3.0, -3.0 ], 2 );
690
+ * arr.set( [ 4.0, -4.0 ], 3 );
691
+ * arr.set( [ 5.0, -5.0 ], 4 );
692
+ *
693
+ * var bool = arr.includes( new Complex64( 3.0, -3.0 ) );
694
+ * // returns true
695
+ *
696
+ * bool = arr.includes( new Complex64( 3.0, -3.0 ), 3 );
697
+ * // returns false
698
+ *
699
+ * bool = arr.includes( new Complex64( 4.0, -4.0 ), -3 );
700
+ * // returns true
701
+ */
702
+ includes( searchElement: ComplexLike, fromIndex?: number ): boolean;
703
+
704
+ /**
705
+ * Returns the first index at which a given element can be found.
706
+ *
707
+ * @param searchElement - element to find
708
+ * @param fromIndex - starting index (inclusive)
709
+ * @returns index or -1
710
+ *
711
+ * @example
712
+ * var arr = new Complex64Array( 5 );
713
+ *
714
+ * arr.set( [ 1.0, 1.0 ], 0 );
715
+ * arr.set( [ 2.0, 2.0 ], 1 );
716
+ * arr.set( [ 3.0, 3.0 ], 2 );
717
+ * arr.set( [ 2.0, 2.0 ], 3 );
718
+ * arr.set( [ 5.0, 5.0 ], 4 );
719
+ *
720
+ * var idx = arr.indexOf( new Complex64( [ 2.0, 2.0 ] ) );
721
+ * // returns 1
722
+ *
723
+ * idx = arr.indexOf( new Complex64( [ 2.0, 2.0 ] ), 2 );
724
+ * // returns 3
725
+ *
726
+ * idx = arr.indexOf( new Complex64( [ 2.0, 2.0 ] ), -3 );
727
+ * // returns 3
728
+ */
729
+ indexOf( searchElement: ComplexLike, fromIndex?: number ): number;
730
+
731
+ /**
732
+ * Returns a new string by concatenating all array elements.
733
+ *
734
+ * @param separator - value separator (default: ',')
735
+ * @returns string
736
+ *
737
+ * @example
738
+ * var arr = new Complex64Array( 2 );
739
+ *
740
+ * arr.set( [ 1.0, 1.0 ], 0 );
741
+ * arr.set( [ 2.0, 2.0 ], 1 );
742
+ *
743
+ * var str = arr.join();
744
+ * // returns '1 + 1i,2 + 2i'
745
+ *
746
+ * str = arr.join( '/' );
747
+ * // returns '1 + 1i/2 + 2i'
748
+ */
749
+ join( separator?: string ): string;
750
+
751
+ /**
752
+ * Returns the last index at which a given element can be found.
753
+ *
754
+ * @param searchElement - element to find
755
+ * @param fromIndex - index at which to start searching backward (inclusive)
756
+ * @returns index or -1
757
+ *
758
+ * @example
759
+ * var Complex64 = require( '@stdlib/complex-float32' );
760
+ *
761
+ * var arr = new Complex64Array( 5 );
762
+ *
763
+ * arr.set( [ 1.0, -1.0 ], 0 );
764
+ * arr.set( [ 2.0, -2.0 ], 1 );
765
+ * arr.set( [ 3.0, -3.0 ], 2 );
766
+ * arr.set( [ 4.0, -4.0 ], 3 );
767
+ * arr.set( [ 3.0, -3.0 ], 4 );
768
+ *
769
+ * var idx = arr.lastIndexOf( new Complex64( 3.0, -3.0 ) );
770
+ * // returns 4
771
+ *
772
+ * idx = arr.lastIndexOf( new Complex64( 3.0, -3.0 ), 3 );
773
+ * // returns 2
774
+ *
775
+ * idx = arr.lastIndexOf( new Complex64( 2.0, -2.0 ), -3 );
776
+ * // returns 1
777
+ */
778
+ lastIndexOf( searchElement: ComplexLike, fromIndex?: number ): number;
779
+
780
+ /**
781
+ * Returns a new array with each element being the result of a provided callback function.
782
+ *
783
+ * @param fcn - callback function
784
+ * @param thisArg - execution context
785
+ * @returns new array containing transformed elements
786
+ *
787
+ * @example
788
+ * var Complex64 = require( '@stdlib/complex-float32' );
789
+ * var realf = require( '@stdlib/complex-realf' );
790
+ * var imagf = require( '@stdlib/complex-imagf' );
791
+ *
792
+ * function scale( v, i ) {
793
+ * return new Complex64( 2.0*realf( v ), 2.0*imagf( v ) );
794
+ * }
795
+ *
796
+ * var arr = new Complex64Array( 3 );
797
+ *
798
+ * arr.set( [ 1.0, -1.0 ], 0 );
799
+ * arr.set( [ 2.0, -2.0 ], 1 );
800
+ * arr.set( [ 3.0, -3.0 ], 2 );
801
+ *
802
+ * var out = arr.map( scale );
803
+ * // returns <Complex64Array>
804
+ *
805
+ * var z = out.get( 0 );
806
+ * // returns <Complex64>
807
+ *
808
+ * var re = realf( z );
809
+ * // returns 2.0
810
+ *
811
+ * var im = imagf( z );
812
+ * // returns -2.0
813
+ */
814
+ map<U = unknown>( fcn: MapFcn<U>, thisArg?: ThisParameterType<MapFcn<U>> ): Complex64Array;
815
+
816
+ /**
817
+ * Reverses an array in-place.
818
+ *
819
+ * @returns reversed array
820
+ *
821
+ * @example
822
+ * var realf = require( '@stdlib/complex-realf' );
823
+ * var imagf = require( '@stdlib/complex-imagf' );
824
+ *
825
+ * var arr = new Complex64Array( 3 );
826
+ *
827
+ * arr.set( [ 1.0, 1.0 ], 0 );
828
+ * arr.set( [ 2.0, 2.0 ], 1 );
829
+ * arr.set( [ 3.0, 3.0 ], 2 );
830
+ *
831
+ * var out = arr.reverse();
832
+ * // returns <Complex64Array>
833
+ *
834
+ * var z = out.get( 0 );
835
+ * // returns <Complex64>
836
+ *
837
+ * var re = realf( z );
838
+ * // returns 3.0
839
+ *
840
+ * var im = imagf( z );
841
+ * // returns 3.0
842
+ *
843
+ * z = out.get( 1 );
844
+ * // returns <Complex64>
845
+ *
846
+ * re = realf( z );
847
+ * // returns 2.0
848
+ *
849
+ * im = imagf( z );
850
+ * // returns 2.0
851
+ *
852
+ * z = out.get( 2 );
853
+ * // returns <Complex64>
854
+ *
855
+ * re = realf( z );
856
+ * // returns 1.0
857
+ *
858
+ * im = imagf( z );
859
+ * // returns 1.0
860
+ */
861
+ reverse(): Complex64Array;
862
+
236
863
  /**
237
864
  * Sets an array element.
238
865
  *
@@ -265,8 +892,8 @@ declare class Complex64Array implements Complex64ArrayInterface {
265
892
  * @throws target array lacks sufficient storage to accommodate source values
266
893
  *
267
894
  * @example
268
- * var realf = require( `@stdlib/complex/realf` );
269
- * var imagf = require( `@stdlib/complex/imagf` );
895
+ * var realf = require( '@stdlib/complex-realf' );
896
+ * var imagf = require( '@stdlib/complex-imagf' );
270
897
  *
271
898
  * var arr = new Complex64Array( 10 );
272
899
  *
@@ -290,7 +917,271 @@ declare class Complex64Array implements Complex64ArrayInterface {
290
917
  * im = imagf( z );
291
918
  * // returns -1.0
292
919
  */
293
- set( value: ArrayLike<number | ComplexLike> | RealOrComplexTypedArray | ComplexLike, i?: number ): void; // tslint:disable-line:max-line-length
920
+ set( value: ArrayLike<number | ComplexLike> | RealOrComplexTypedArray | ComplexLike, i?: number ): void;
921
+
922
+ /**
923
+ * Copies a portion of a typed array to a new typed array.
924
+ *
925
+ * @param start - starting index (inclusive)
926
+ * @param end - ending index (exclusive)
927
+ * @throws indices must be integers
928
+ * @returns output array
929
+ *
930
+ * @example
931
+ * var realf = require( '@stdlib/complex-realf' );
932
+ * var imagf = require( '@stdlib/complex-imagf' );
933
+ *
934
+ * var arr = new Complex64Array( 5 );
935
+ *
936
+ * arr.set( [ 1.0, -1.0 ], 0 );
937
+ * arr.set( [ 2.0, -2.0 ], 1 );
938
+ * arr.set( [ 3.0, -3.0 ], 2 );
939
+ * arr.set( [ 4.0, -4.0 ], 3 );
940
+ * arr.set( [ 5.0, -5.0 ], 4 );
941
+ *
942
+ * var out = arr.slice();
943
+ * // returns <Complex64Array>
944
+ *
945
+ * var len = out.length;
946
+ * // returns 5
947
+ *
948
+ * var z = out.get( 0 );
949
+ * // returns <Complex64>
950
+ *
951
+ * var re = realf( z );
952
+ * // returns 1.0
953
+ *
954
+ * var im = imagf( z );
955
+ * // returns -1.0
956
+ *
957
+ * z = out.get( len-1 );
958
+ * // returns <Complex64>
959
+ *
960
+ * re = realf( z );
961
+ * // returns 5.0
962
+ *
963
+ * im = imagf( z );
964
+ * // returns -5.0
965
+ *
966
+ * out = arr.slice( 1, -2 );
967
+ * // returns <Complex64Array>
968
+ *
969
+ * len = out.length;
970
+ * // returns 2
971
+ *
972
+ * z = out.get( 0 );
973
+ * // returns <Complex64>
974
+ *
975
+ * re = realf( z );
976
+ * // returns 2.0
977
+ *
978
+ * im = imagf( z );
979
+ * // returns -2.0
980
+ *
981
+ * z = out.get( len-1 );
982
+ * // returns <Complex64>
983
+ *
984
+ * re = realf( z );
985
+ * // returns 3.0
986
+ *
987
+ * im = imagf( z );
988
+ * // returns -3.0
989
+ */
990
+ slice( start?: number, end?: number ): Complex64Array;
991
+
992
+ /**
993
+ * Tests whether at least one element in an array passes a test implemented by a predicate function.
994
+ *
995
+ * @param predicate - test function
996
+ * @param thisArg - execution context
997
+ * @returns boolean indicating whether at least one element passes a test
998
+ *
999
+ * @example
1000
+ * var realf = require( '@stdlib/complex-realf' );
1001
+ * var imagf = require( '@stdlib/complex-imagf' );
1002
+ *
1003
+ * function predicate( v ) {
1004
+ * return ( realf( v ) === imagf( v ) );
1005
+ * }
1006
+ *
1007
+ * var arr = new Complex64Array( 3 );
1008
+ *
1009
+ * arr.set( [ 1.0 , -1.0 ], 0 );
1010
+ * arr.set( [ 2.0 , 2.0 ], 1 );
1011
+ * arr.set( [ 3.0 , -3.0 ], 2 );
1012
+ *
1013
+ * var bool = arr.some( predicate );
1014
+ * // returns true
1015
+ */
1016
+ some<U = unknown>( predicate: Predicate<U>, thisArg?: ThisParameterType<Predicate<U>> ): boolean;
1017
+
1018
+ /**
1019
+ * Creates a new typed array view over the same underlying `ArrayBuffer` and with the same underlying data type as the host array.
1020
+ *
1021
+ * @param begin - starting index (inclusive)
1022
+ * @param end - ending index (exclusive)
1023
+ * @throws indices must be integers
1024
+ * @returns subarray
1025
+ *
1026
+ * @example
1027
+ * var realf = require( '@stdlib/complex-realf' );
1028
+ * var imagf = require( '@stdlib/complex-imagf' );
1029
+ *
1030
+ * var arr = new Complex64Array( 5 );
1031
+ *
1032
+ * arr.set( [ 1.0, -1.0 ], 0 );
1033
+ * arr.set( [ 2.0, -2.0 ], 1 );
1034
+ * arr.set( [ 3.0, -3.0 ], 2 );
1035
+ * arr.set( [ 4.0, -4.0 ], 3 );
1036
+ * arr.set( [ 5.0, -5.0 ], 4 );
1037
+ *
1038
+ * var subarr = arr.subarray();
1039
+ * // returns <Complex64Array>
1040
+ *
1041
+ * var len = subarr.length;
1042
+ * // returns 5
1043
+ *
1044
+ * var z = subarr.get( 0 );
1045
+ * // returns <Complex64>
1046
+ *
1047
+ * var re = realf( z );
1048
+ * // returns 1.0
1049
+ *
1050
+ * var im = imagf( z );
1051
+ * // returns -1.0
1052
+ *
1053
+ * z = subarr.get( len-1 );
1054
+ * // returns <Complex64>
1055
+ *
1056
+ * re = realf( z );
1057
+ * // returns 5.0
1058
+ *
1059
+ * im = imagf( z );
1060
+ * // returns -5.0
1061
+ *
1062
+ * subarr = arr.subarray( 1, -2 );
1063
+ * // returns <Complex64Array>
1064
+ *
1065
+ * len = subarr.length;
1066
+ * // returns 2
1067
+ *
1068
+ * z = subarr.get( 0 );
1069
+ * // returns <Complex64>
1070
+ *
1071
+ * re = realf( z );
1072
+ * // returns 2.0
1073
+ *
1074
+ * im = imagf( z );
1075
+ * // returns -2.0
1076
+ *
1077
+ * z = subarr.get( len-1 );
1078
+ * // returns <Complex64>
1079
+ *
1080
+ * re = realf( z );
1081
+ * // returns 3.0
1082
+ *
1083
+ * im = imagf( z );
1084
+ * // returns -3.0
1085
+ */
1086
+ subarray( begin?: number, end?: number ): Complex64Array;
1087
+
1088
+ /**
1089
+ * Returns a new typed array containing the elements in reversed order.
1090
+ *
1091
+ * @returns reversed array
1092
+ *
1093
+ * @example
1094
+ * var realf = require( '@stdlib/complex-realf' );
1095
+ * var imagf = require( '@stdlib/complex-imagf' );
1096
+ *
1097
+ * var arr = new Complex64Array( 3 );
1098
+ *
1099
+ * arr.set( [ 1.0, 1.0 ], 0 );
1100
+ * arr.set( [ 2.0, 2.0 ], 1 );
1101
+ * arr.set( [ 3.0, 3.0 ], 2 );
1102
+ *
1103
+ * var out = arr.toReversed();
1104
+ * // returns <Complex64Array>
1105
+ *
1106
+ * var z = out.get( 0 );
1107
+ * // returns <Complex64>
1108
+ *
1109
+ * var re = realf( z );
1110
+ * // returns 3.0
1111
+ *
1112
+ * var im = imagf( z );
1113
+ * // returns 3.0
1114
+ *
1115
+ * z = out.get( 1 );
1116
+ * // returns <Complex64>
1117
+ *
1118
+ * re = realf( z );
1119
+ * // returns 2.0
1120
+ *
1121
+ * im = imagf( z );
1122
+ * // returns 2.0
1123
+ *
1124
+ * z = out.get( 2 );
1125
+ * // returns <Complex64>
1126
+ *
1127
+ * re = realf( z );
1128
+ * // returns 1.0
1129
+ *
1130
+ * im = imagf( z );
1131
+ * // returns 1.0
1132
+ */
1133
+ toReversed(): Complex64Array;
1134
+
1135
+ /**
1136
+ * Serializes an array as a string.
1137
+ *
1138
+ * @returns string
1139
+ *
1140
+ * @example
1141
+ * var arr = new Complex64Array( 2 );
1142
+ *
1143
+ * arr.set( [ 1.0, 1.0 ], 0 );
1144
+ * arr.set( [ 2.0, 2.0 ], 1 );
1145
+ *
1146
+ * var str = arr.toString();
1147
+ * // returns '1 + 1i,2 + 2i'
1148
+ */
1149
+ toString(): string;
1150
+
1151
+ /**
1152
+ * Returns a new typed array with the element at a provided index replaced with a provided value.
1153
+ *
1154
+ * @param index - element index
1155
+ * @param value - new value
1156
+ * @throws first argument must be an integer
1157
+ * @throws second argument must be a complex number
1158
+ * @throws index argument is out-of-bounds
1159
+ * @returns modified typed array
1160
+ *
1161
+ * @example
1162
+ * var realf = require( '@stdlib/complex-realf' );
1163
+ * var imagf = require( '@stdlib/complex-imagf' );
1164
+ * var Complex64 = require( '@stdlib/complex-float32' );
1165
+ *
1166
+ * var arr = new Complex64Array( 3 );
1167
+ *
1168
+ * arr.set( [ 1.0, 1.0 ], 0 );
1169
+ * arr.set( [ 2.0, 2.0 ], 1 );
1170
+ * arr.set( [ 3.0, 3.0 ], 2 );
1171
+ *
1172
+ * var out = arr.with( 0, new Complex64( 4.0, 4.0 ) );
1173
+ * // returns <Complex64Array>
1174
+ *
1175
+ * var z = out.get( 0 );
1176
+ * // returns <Complex64>
1177
+ *
1178
+ * var re = realf( z );
1179
+ * // returns 4.0
1180
+ *
1181
+ * var im = imagf( z );
1182
+ * // returns 4.0
1183
+ */
1184
+ with( index: number, value: ComplexLike ): Complex64Array;
294
1185
  }
295
1186
 
296
1187
  /**
@@ -335,7 +1226,7 @@ interface Complex64ArrayConstructor {
335
1226
  * // returns 1
336
1227
  *
337
1228
  * @example
338
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1229
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
339
1230
  *
340
1231
  * var buf = new ArrayBuffer( 16 );
341
1232
  * var arr = new Complex64Array( buf );
@@ -345,7 +1236,7 @@ interface Complex64ArrayConstructor {
345
1236
  * // returns 2
346
1237
  *
347
1238
  * @example
348
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1239
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
349
1240
  *
350
1241
  * var buf = new ArrayBuffer( 16 );
351
1242
  * var arr = new Complex64Array( buf, 8 );
@@ -355,7 +1246,7 @@ interface Complex64ArrayConstructor {
355
1246
  * // returns 1
356
1247
  *
357
1248
  * @example
358
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1249
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
359
1250
  *
360
1251
  * var buf = new ArrayBuffer( 32 );
361
1252
  * var arr = new Complex64Array( buf, 8, 2 );
@@ -364,7 +1255,7 @@ interface Complex64ArrayConstructor {
364
1255
  * var len = arr.length;
365
1256
  * // returns 2
366
1257
  */
367
- new( arg?: number | RealOrComplexTypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ): Complex64Array; // tslint-disable-line max-line-length
1258
+ new( arg?: number | RealOrComplexTypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ): Complex64Array;
368
1259
 
369
1260
  /**
370
1261
  * 64-bit complex number array constructor.
@@ -404,7 +1295,7 @@ interface Complex64ArrayConstructor {
404
1295
  * // returns 1
405
1296
  *
406
1297
  * @example
407
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1298
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
408
1299
  *
409
1300
  * var buf = new ArrayBuffer( 16 );
410
1301
  * var arr = new Complex64Array( buf );
@@ -414,7 +1305,7 @@ interface Complex64ArrayConstructor {
414
1305
  * // returns 2
415
1306
  *
416
1307
  * @example
417
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1308
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
418
1309
  *
419
1310
  * var buf = new ArrayBuffer( 16 );
420
1311
  * var arr = new Complex64Array( buf, 8 );
@@ -424,7 +1315,7 @@ interface Complex64ArrayConstructor {
424
1315
  * // returns 1
425
1316
  *
426
1317
  * @example
427
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1318
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
428
1319
  *
429
1320
  * var buf = new ArrayBuffer( 32 );
430
1321
  * var arr = new Complex64Array( buf, 8, 2 );
@@ -433,7 +1324,7 @@ interface Complex64ArrayConstructor {
433
1324
  * var len = arr.length;
434
1325
  * // returns 2
435
1326
  */
436
- ( arg?: number | RealOrComplexTypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ): Complex64Array; // tslint-disable-line max-line-length
1327
+ ( arg?: number | RealOrComplexTypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ): Complex64Array;
437
1328
 
438
1329
  /**
439
1330
  * Constructor name.
@@ -472,7 +1363,7 @@ interface Complex64ArrayConstructor {
472
1363
  * // returns 1
473
1364
  *
474
1365
  * @example
475
- * var Complex64 = require( `@stdlib/complex/float32` );
1366
+ * var Complex64 = require( '@stdlib/complex-float32' );
476
1367
  *
477
1368
  * var arr = Complex64Array.from( [ new Complex64( 1.0, 1.0 ) ] );
478
1369
  * // returns <Complex64Array>
@@ -481,9 +1372,9 @@ interface Complex64ArrayConstructor {
481
1372
  * // returns 1
482
1373
  *
483
1374
  * @example
484
- * var Complex64 = require( `@stdlib/complex/float32` );
485
- * var realf = require( `@stdlib/complex/realf` );
486
- * var imagf = require( `@stdlib/complex/imagf` );
1375
+ * var Complex64 = require( '@stdlib/complex-float32' );
1376
+ * var realf = require( '@stdlib/complex-realf' );
1377
+ * var imagf = require( '@stdlib/complex-imagf' );
487
1378
  *
488
1379
  * function clbk( v ) {
489
1380
  * return new Complex64( realf(v)*2.0, imagf(v)*2.0 );
@@ -495,7 +1386,7 @@ interface Complex64ArrayConstructor {
495
1386
  * var len = arr.length;
496
1387
  * // returns 1
497
1388
  */
498
- from( src: ArrayLike<number | ComplexLike> | RealOrComplexTypedArray | Iterable<number | ComplexLike>, clbk?: Function, thisArg?: any ): Complex64Array; // tslint:disable-line:max-line-length
1389
+ from( src: ArrayLike<number | ComplexLike> | RealOrComplexTypedArray | Iterable<number | ComplexLike>, clbk?: FromCallback<U>, thisArg?: ThisParameterType<FromCallback<U>> ): Complex64Array;
499
1390
 
500
1391
  /**
501
1392
  * Creates a new 64-bit complex number array from a variable number of arguments.
@@ -551,7 +1442,7 @@ interface Complex64ArrayConstructor {
551
1442
  * // returns 1
552
1443
  *
553
1444
  * @example
554
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1445
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
555
1446
  *
556
1447
  * var buf = new ArrayBuffer( 16 );
557
1448
  * var arr = new Complex64Array( buf );
@@ -561,7 +1452,7 @@ interface Complex64ArrayConstructor {
561
1452
  * // returns 2
562
1453
  *
563
1454
  * @example
564
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1455
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
565
1456
  *
566
1457
  * var buf = new ArrayBuffer( 16 );
567
1458
  * var arr = new Complex64Array( buf, 8 );
@@ -571,7 +1462,7 @@ interface Complex64ArrayConstructor {
571
1462
  * // returns 1
572
1463
  *
573
1464
  * @example
574
- * var ArrayBuffer = require( `@stdlib/array/buffer` );
1465
+ * var ArrayBuffer = require( '@stdlib/array-buffer' );
575
1466
  *
576
1467
  * var buf = new ArrayBuffer( 32 );
577
1468
  * var arr = new Complex64Array( buf, 8, 2 );