feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
This commit is contained in:
parent
d670b89c4d
commit
b6addc7f05
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1 +1 @@
|
|||
**/node_modules
|
||||
**/samples-gpt
|
||||
|
|
53
js/node_modules/.yarn-integrity
generated
vendored
Normal file
53
js/node_modules/.yarn-integrity
generated
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
"systemParams": "linux-x64-93",
|
||||
"modulesFolders": [
|
||||
"node_modules"
|
||||
],
|
||||
"flags": [],
|
||||
"linkedModules": [],
|
||||
"topLevelPatterns": [
|
||||
"@stdlib/random@^0.0.12"
|
||||
],
|
||||
"lockfileEntries": {
|
||||
"@stdlib/array@^0.0.x": "https://registry.yarnpkg.com/@stdlib/array/-/array-0.0.12.tgz#12f40ab95bb36d424cdad991f29fc3cb491ee29e",
|
||||
"@stdlib/assert@^0.0.x": "https://registry.yarnpkg.com/@stdlib/assert/-/assert-0.0.12.tgz#1648c9016e5041291f55a6464abcc4069c5103ce",
|
||||
"@stdlib/bigint@^0.0.x": "https://registry.yarnpkg.com/@stdlib/bigint/-/bigint-0.0.11.tgz#c416a1d727001c55f4897e6424124199d638f2fd",
|
||||
"@stdlib/blas@^0.0.x": "https://registry.yarnpkg.com/@stdlib/blas/-/blas-0.0.12.tgz#7e93e42b4621fc6903bf63264f045047333536c2",
|
||||
"@stdlib/buffer@^0.0.x": "https://registry.yarnpkg.com/@stdlib/buffer/-/buffer-0.0.11.tgz#6137b00845e6c905181cc7ebfae9f7e47c01b0ce",
|
||||
"@stdlib/cli@^0.0.x": "https://registry.yarnpkg.com/@stdlib/cli/-/cli-0.0.10.tgz#28e2fbe6865d7f5cd15b7dc5846c99bd3b91674f",
|
||||
"@stdlib/complex@^0.0.x": "https://registry.yarnpkg.com/@stdlib/complex/-/complex-0.0.12.tgz#3afbc190cd0a9b37fc7c6e508c3aa9fda9106944",
|
||||
"@stdlib/constants@^0.0.x": "https://registry.yarnpkg.com/@stdlib/constants/-/constants-0.0.11.tgz#78cd56d6c2982b30264843c3d75bde7125e90cd2",
|
||||
"@stdlib/fs@^0.0.x": "https://registry.yarnpkg.com/@stdlib/fs/-/fs-0.0.12.tgz#662365fd5846a51f075724b4f2888ae88441b70d",
|
||||
"@stdlib/math@^0.0.x": "https://registry.yarnpkg.com/@stdlib/math/-/math-0.0.11.tgz#eb6638bc03a20fbd6727dd5b977ee0170bda4649",
|
||||
"@stdlib/ndarray@^0.0.x": "https://registry.yarnpkg.com/@stdlib/ndarray/-/ndarray-0.0.13.tgz#2e8fc645e10f56a645a0ab81598808c0e8f43b82",
|
||||
"@stdlib/nlp@^0.0.x": "https://registry.yarnpkg.com/@stdlib/nlp/-/nlp-0.0.11.tgz#532ec0f7267b8d639e4c20c6de864e8de8a09054",
|
||||
"@stdlib/number@^0.0.x": "https://registry.yarnpkg.com/@stdlib/number/-/number-0.0.10.tgz#4030ad8fc3fac19a9afb415c443cee6deea0e65c",
|
||||
"@stdlib/os@^0.0.x": "https://registry.yarnpkg.com/@stdlib/os/-/os-0.0.12.tgz#08bbf013c62a7153099fa9cbac086ca1349a4677",
|
||||
"@stdlib/process@^0.0.x": "https://registry.yarnpkg.com/@stdlib/process/-/process-0.0.12.tgz#123325079d89a32f4212f72fb694f8fe3614cf18",
|
||||
"@stdlib/random@^0.0.12": "https://registry.yarnpkg.com/@stdlib/random/-/random-0.0.12.tgz#e819c3abd602ed5559ba800dba751e49c633ff85",
|
||||
"@stdlib/random@^0.0.x": "https://registry.yarnpkg.com/@stdlib/random/-/random-0.0.12.tgz#e819c3abd602ed5559ba800dba751e49c633ff85",
|
||||
"@stdlib/regexp@^0.0.x": "https://registry.yarnpkg.com/@stdlib/regexp/-/regexp-0.0.13.tgz#80b98361dc7a441b47bc3fa964bb0c826759e971",
|
||||
"@stdlib/stats@^0.0.x": "https://registry.yarnpkg.com/@stdlib/stats/-/stats-0.0.13.tgz#87c973f385379d794707c7b5196a173dba8b07e1",
|
||||
"@stdlib/streams@^0.0.x": "https://registry.yarnpkg.com/@stdlib/streams/-/streams-0.0.12.tgz#07f5ceae5852590afad8e1cb7ce94174becc8739",
|
||||
"@stdlib/strided@^0.0.x": "https://registry.yarnpkg.com/@stdlib/strided/-/strided-0.0.12.tgz#86ac48e660cb7f64a45cf07e80cbbfe58be21ae1",
|
||||
"@stdlib/string@^0.0.x": "https://registry.yarnpkg.com/@stdlib/string/-/string-0.0.14.tgz#4feea4f9089ab72428eebb65fe7b93d90a7f34f4",
|
||||
"@stdlib/symbol@^0.0.x": "https://registry.yarnpkg.com/@stdlib/symbol/-/symbol-0.0.12.tgz#b9f396b0bf269c2985bb7fe99810a8e26d7288c3",
|
||||
"@stdlib/time@^0.0.x": "https://registry.yarnpkg.com/@stdlib/time/-/time-0.0.14.tgz#ea6daa438b1d3b019b99f5091117ee4bcef55d60",
|
||||
"@stdlib/types@^0.0.x": "https://registry.yarnpkg.com/@stdlib/types/-/types-0.0.14.tgz#02d3aab7a9bfaeb86e34ab749772ea22f7b2f7e0",
|
||||
"@stdlib/utils@^0.0.x": "https://registry.yarnpkg.com/@stdlib/utils/-/utils-0.0.12.tgz#670de5a7b253f04f11a4cba38f790e82393bcb46",
|
||||
"core-util-is@~1.0.0": "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85",
|
||||
"debug@^2.6.9": "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f",
|
||||
"inherits@~2.0.3": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c",
|
||||
"isarray@~1.0.0": "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11",
|
||||
"minimist@^1.2.0": "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18",
|
||||
"ms@2.0.0": "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8",
|
||||
"process-nextick-args@~2.0.0": "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2",
|
||||
"readable-stream@^2.1.4": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57",
|
||||
"safe-buffer@~5.1.0": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d",
|
||||
"safe-buffer@~5.1.1": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d",
|
||||
"string_decoder@~1.1.1": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8",
|
||||
"util-deprecate@~1.0.1": "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
},
|
||||
"files": [],
|
||||
"artifacts": {}
|
||||
}
|
481
js/node_modules/@stdlib/array/LICENSE
generated
vendored
Normal file
481
js/node_modules/@stdlib/array/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,481 @@
|
|||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
|
||||
Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
Permission is hereby granted, free of charge, to any person or organization
|
||||
obtaining a copy of the software and accompanying documentation covered by this
|
||||
license (the "Software") to use, reproduce, display, distribute, execute, and
|
||||
transmit the Software, and to prepare derivative works of the Software, and to
|
||||
permit third-parties to whom the Software is furnished to do so, all subject to
|
||||
the following:
|
||||
|
||||
The copyright notices in the Software and this entire statement, including the
|
||||
above license grant, this restriction and the following disclaimer, must be
|
||||
included in all copies of the Software, in whole or in part, and all derivative
|
||||
works of the Software, unless such copies or derivative works are solely in the
|
||||
form of machine-executable object code generated by a source language processor.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES
|
||||
OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
|
||||
|
||||
DEPENDENCIES
|
||||
|
||||
The library links against the following external libraries, which have their own
|
||||
licenses:
|
||||
|
||||
* OpenBLAS <https://raw.githubusercontent.com/xianyi/OpenBLAS/
|
||||
def146efed8d5908ea04e22668feeab7099599a0/LICENSE>
|
||||
|
||||
Copyright (c) 2011-2014, The OpenBLAS Project
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
3. Neither the name of the OpenBLAS project nor the names of
|
||||
its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
* Electron <https://raw.githubusercontent.com/electron/electron/
|
||||
c4cfb3e7110266b9d7ad80e1ae097c4db564501c/LICENSE>
|
||||
|
||||
Copyright (c) 2013-2017 GitHub Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
* Boost <http://www.boost.org/LICENSE_1_0.txt>
|
||||
|
||||
Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
Permission is hereby granted, free of charge, to any person or organization
|
||||
obtaining a copy of the software and accompanying documentation covered by
|
||||
this license (the "Software") to use, reproduce, display, distribute,
|
||||
execute, and transmit the Software, and to prepare derivative works of the
|
||||
Software, and to permit third-parties to whom the Software is furnished to
|
||||
do so, all subject to the following:
|
||||
|
||||
The copyright notices in the Software and this entire statement, including
|
||||
the above license grant, this restriction and the following disclaimer,
|
||||
must be included in all copies of the Software, in whole or in part, and
|
||||
all derivative works of the Software, unless such copies or derivative
|
||||
works are solely in the form of machine-executable object code generated by
|
||||
a source language processor.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
* Cephes <http://www.netlib.org/cephes/readme>
|
||||
|
||||
Copyright (c) 1984-2000 Stephen L. Moshier
|
||||
|
||||
Some software in this archive may be from the book _Methods and Programs for
|
||||
Mathematical Functions_ (Prentice-Hall or Simon & Schuster International, 1989)
|
||||
or from the Cephes Mathematical Library, a commercial product. In either event,
|
||||
it is copyrighted by the author. What you see here may be used freely but it
|
||||
comes with no support or guarantee.
|
||||
|
||||
Stephen L. Moshier
|
||||
moshier@na-net.ornl.gov
|
||||
|
||||
|
||||
|
||||
ATTRIBUTION
|
||||
|
||||
The library contains implementations from the following external libraries,
|
||||
which have their own licenses:
|
||||
|
||||
* FreeBSD <https://svnweb.freebsd.org/>
|
||||
|
||||
Copyright (C) 1993-2004 by Sun Microsystems, Inc. All rights reserved.
|
||||
|
||||
Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
Permission to use, copy, modify, and distribute this
|
||||
software is freely granted, provided that this notice
|
||||
is preserved.
|
||||
|
||||
|
||||
* FDLIBM <http://www.netlib.org/fdlibm/>
|
||||
|
||||
Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
|
||||
|
||||
Developed at SunPro, a Sun Microsystems, Inc. business.
|
||||
Permission to use, copy, modify, and distribute this
|
||||
software is freely granted, provided that this notice
|
||||
is preserved.
|
||||
|
||||
|
||||
* Go <https://raw.githubusercontent.com/golang/go/master/LICENSE>
|
||||
|
||||
Copyright (c) 2009 The Go Authors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
in the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Google Inc. nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
* SLATEC Common Mathematical Library <http://www.netlib.no/netlib/slatec/>
|
||||
|
||||
Public domain.
|
||||
|
||||
|
||||
* ESLint <https://raw.githubusercontent.com/eslint/eslint/master/LICENSE>
|
||||
|
||||
Copyright JS Foundation and other contributors, https://js.foundation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
* StatsFuns.jl <https://raw.githubusercontent.com/JuliaStats/StatsFuns.jl/
|
||||
e66dd973650c375bc1739c820e5b96bb5bd000a8/LICENSE.md>
|
||||
|
||||
Copyright (c) 2015: Dahua Lin.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
* SpecialFunctions.jl <https://raw.githubusercontent.com/JuliaMath/
|
||||
SpecialFunctions.jl/02a173fbe24a61c4b392aec17a9764ac5727feb1/LICENSE>
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and others:
|
||||
|
||||
https://github.com/JuliaMath/SpecialFunctions.jl/graphs/contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
|
||||
* MT19937 <http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/
|
||||
mt19937ar.c>
|
||||
|
||||
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. The names of its contributors may not be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
1
js/node_modules/@stdlib/array/NOTICE
generated
vendored
Normal file
1
js/node_modules/@stdlib/array/NOTICE
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
Copyright (c) 2016-2021 The Stdlib Authors.
|
371
js/node_modules/@stdlib/array/README.md
generated
vendored
Normal file
371
js/node_modules/@stdlib/array/README.md
generated
vendored
Normal file
|
@ -0,0 +1,371 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2018 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Arrays
|
||||
|
||||
[![NPM version][npm-image]][npm-url] [![Build Status][test-image]][test-url] [![Coverage Status][coverage-image]][coverage-url] [![dependencies][dependencies-image]][dependencies-url]
|
||||
|
||||
> Arrays.
|
||||
|
||||
<section class="installation">
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install @stdlib/array
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var ns = require( '@stdlib/array' );
|
||||
```
|
||||
|
||||
#### ns
|
||||
|
||||
Arrays.
|
||||
|
||||
```javascript
|
||||
var o = ns;
|
||||
// returns {...}
|
||||
```
|
||||
|
||||
The namespace exports the following array constructors:
|
||||
|
||||
<!-- <toc pattern="+(int*|float*|uint*|*buffer)"> -->
|
||||
|
||||
<div class="namespace-toc">
|
||||
|
||||
- <span class="signature">[`ArrayBuffer( size )`][@stdlib/array/buffer]</span><span class="delimiter">: </span><span class="description">constructor which returns an object used to represent a generic, fixed-length raw binary data buffer.</span>
|
||||
- <span class="signature">[`Float32Array()`][@stdlib/array/float32]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.</span>
|
||||
- <span class="signature">[`Float64Array()`][@stdlib/array/float64]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of double-precision floating-point numbers in the platform byte order.</span>
|
||||
- <span class="signature">[`Int16Array()`][@stdlib/array/int16]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of twos-complement 16-bit signed integers in the platform byte order.</span>
|
||||
- <span class="signature">[`Int32Array()`][@stdlib/array/int32]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of twos-complement 32-bit signed integers in the platform byte order.</span>
|
||||
- <span class="signature">[`Int8Array()`][@stdlib/array/int8]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of twos-complement 8-bit signed integers in the platform byte order.</span>
|
||||
- <span class="signature">[`SharedArrayBuffer( size )`][@stdlib/array/shared-buffer]</span><span class="delimiter">: </span><span class="description">constructor returning an object used to represent a generic, fixed-length raw binary data buffer which can be used to create views of shared memory.</span>
|
||||
- <span class="signature">[`Uint16Array()`][@stdlib/array/uint16]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of 16-bit unsigned integers in the platform byte order.</span>
|
||||
- <span class="signature">[`Uint32Array()`][@stdlib/array/uint32]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.</span>
|
||||
- <span class="signature">[`Uint8Array()`][@stdlib/array/uint8]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of 8-bit unsigned integers in the platform byte order.</span>
|
||||
- <span class="signature">[`Uint8ClampedArray()`][@stdlib/array/uint8c]</span><span class="delimiter">: </span><span class="description">typed array constructor which returns a typed array representing an array of 8-bit unsigned integers in the platform byte order clamped to 0-255.</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- </toc> -->
|
||||
|
||||
```javascript
|
||||
var arr = new ns.Int32Array( 5 );
|
||||
// returns <Int32Array>[ 0, 0, 0, 0, 0 ]
|
||||
```
|
||||
|
||||
Alternatively, use the `typedarray` function to create a typed array of a given data type:
|
||||
|
||||
<!-- <toc pattern="typed"> -->
|
||||
|
||||
<div class="namespace-toc">
|
||||
|
||||
- <span class="signature">[`typedarray()`][@stdlib/array/typed]</span><span class="delimiter">: </span><span class="description">create a typed array.</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- </toc> -->
|
||||
|
||||
```javascript
|
||||
var arr1 = ns.typedarray( 5 );
|
||||
// returns <Float64Array>[ 0.0, 0.0, 0.0, 0.0, 0.0 ]
|
||||
|
||||
var arr2 = ns.typedarray( 5, 'uint8' );
|
||||
// returns <Uint8Array>[ 0, 0, 0, 0, 0 ]
|
||||
```
|
||||
|
||||
The namespace contains functions to create arrays pre-filled with spaced values:
|
||||
|
||||
<!-- <toc pattern="*space"> -->
|
||||
|
||||
<div class="namespace-toc">
|
||||
|
||||
- <span class="signature">[`datespace( start, stop[, length][, opts] )`][@stdlib/array/datespace]</span><span class="delimiter">: </span><span class="description">generate an array of linearly spaced dates.</span>
|
||||
- <span class="signature">[`incrspace( start, stop[, increment] )`][@stdlib/array/incrspace]</span><span class="delimiter">: </span><span class="description">generate a linearly spaced numeric array using a provided increment.</span>
|
||||
- <span class="signature">[`linspace( start, stop[, length] )`][@stdlib/array/linspace]</span><span class="delimiter">: </span><span class="description">generate a linearly spaced numeric array.</span>
|
||||
- <span class="signature">[`logspace( a, b[, length] )`][@stdlib/array/logspace]</span><span class="delimiter">: </span><span class="description">generate a logarithmically spaced numeric array.</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- </toc> -->
|
||||
|
||||
You can use the following functions to retrieve a list of available data types:
|
||||
|
||||
<!-- <toc pattern="*dtypes"> -->
|
||||
|
||||
<div class="namespace-toc">
|
||||
|
||||
- <span class="signature">[`arrayDataTypes()`][@stdlib/array/dtypes]</span><span class="delimiter">: </span><span class="description">list of array data types.</span>
|
||||
- <span class="signature">[`typedarrayComplexDataTypes()`][@stdlib/array/typed-complex-dtypes]</span><span class="delimiter">: </span><span class="description">list of complex typed array data types.</span>
|
||||
- <span class="signature">[`typedarrayDataTypes()`][@stdlib/array/typed-dtypes]</span><span class="delimiter">: </span><span class="description">list of typed array data types.</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- </toc> -->
|
||||
|
||||
```javascript
|
||||
var DTYPES = ns.arrayDataTypes();
|
||||
// returns [ 'float32', 'float64', 'generic', 'int16', 'int32', 'int8', 'uint16', 'uint32', 'uint8', 'uint8c' ]
|
||||
```
|
||||
|
||||
Furthermore, the namespace contains utility functions to retrieve a given constructor:
|
||||
|
||||
<!-- <toc keywords="+constructors,+constructor"> -->
|
||||
|
||||
<div class="namespace-toc">
|
||||
|
||||
- <span class="signature">[`arrayCtors( dtype )`][@stdlib/array/ctors]</span><span class="delimiter">: </span><span class="description">array constructors.</span>
|
||||
- <span class="signature">[`typedarrayComplexCtors( dtype )`][@stdlib/array/typed-complex-ctors]</span><span class="delimiter">: </span><span class="description">complex typed array constructors.</span>
|
||||
- <span class="signature">[`typedarrayCtors( dtype )`][@stdlib/array/typed-ctors]</span><span class="delimiter">: </span><span class="description">typed array constructors.</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- </toc> -->
|
||||
|
||||
```javascript
|
||||
var ctor = ns.typedarrayCtors( 'float64' );
|
||||
// returns <Function>
|
||||
|
||||
ctor = ns.typedarrayCtors( 'int' );
|
||||
// returns null
|
||||
```
|
||||
|
||||
Lastly, the namespace contains various other functions for dealing with arrays, including functions to convert arrays from one data type to another or to serialize them as JSON and vice versa.
|
||||
|
||||
<!-- <toc ignore="+(int*|float*|uint*|*buffer)" ignore="typed" ignore="*dtypes" keywords="-constructors,-constructor"> -->
|
||||
|
||||
<div class="namespace-toc">
|
||||
|
||||
- <span class="signature">[`Complex128Array()`][@stdlib/array/complex128]</span><span class="delimiter">: </span><span class="description">128-bit complex number array.</span>
|
||||
- <span class="signature">[`Complex64Array()`][@stdlib/array/complex64]</span><span class="delimiter">: </span><span class="description">64-bit complex number array.</span>
|
||||
- <span class="signature">[`convertArraySame( x, y )`][@stdlib/array/convert-same]</span><span class="delimiter">: </span><span class="description">convert an array to the same data type as a second input array.</span>
|
||||
- <span class="signature">[`convertArray( arr, dtype )`][@stdlib/array/convert]</span><span class="delimiter">: </span><span class="description">convert an array to an array of a different data type.</span>
|
||||
- <span class="signature">[`DataView( buffer[, byteOffset[, byteLength]] )`][@stdlib/array/dataview]</span><span class="delimiter">: </span><span class="description">constructor which returns a data view representing a provided array buffer.</span>
|
||||
- <span class="signature">[`arrayDataType( array )`][@stdlib/array/dtype]</span><span class="delimiter">: </span><span class="description">return the data type of an array.</span>
|
||||
- <span class="signature">[`filledarray()`][@stdlib/array/filled]</span><span class="delimiter">: </span><span class="description">create a filled array.</span>
|
||||
- <span class="signature">[`iterator2array( iterator[, out][, mapFcn[, thisArg]] )`][@stdlib/array/from-iterator]</span><span class="delimiter">: </span><span class="description">create (or fill) an array from an iterator.</span>
|
||||
- <span class="signature">[`arrayMinDataType( value )`][@stdlib/array/min-dtype]</span><span class="delimiter">: </span><span class="description">determine the minimum array data type of the closest "kind" necessary for storing a provided scalar value.</span>
|
||||
- <span class="signature">[`arrayNextDataType( [dtype] )`][@stdlib/array/next-dtype]</span><span class="delimiter">: </span><span class="description">return the next larger array data type of the same kind.</span>
|
||||
- <span class="signature">[`typedarraypool()`][@stdlib/array/pool]</span><span class="delimiter">: </span><span class="description">allocate typed arrays from a typed array memory pool.</span>
|
||||
- <span class="signature">[`arrayPromotionRules( [dtype1, dtype2] )`][@stdlib/array/promotion-rules]</span><span class="delimiter">: </span><span class="description">return the array data type with the smallest size and closest "kind" to which array data types can be **safely** cast.</span>
|
||||
- <span class="signature">[`reviveTypedArray( key, value )`][@stdlib/array/reviver]</span><span class="delimiter">: </span><span class="description">revive a JSON-serialized typed array.</span>
|
||||
- <span class="signature">[`arraySafeCasts( [dtype] )`][@stdlib/array/safe-casts]</span><span class="delimiter">: </span><span class="description">return a list of array data types to which a provided array data type can be safely cast.</span>
|
||||
- <span class="signature">[`arraySameKindCasts( [dtype] )`][@stdlib/array/same-kind-casts]</span><span class="delimiter">: </span><span class="description">return a list of array data types to which a provided array data type can be safely cast or cast within the same "kind".</span>
|
||||
- <span class="signature">[`arrayShape( arr )`][@stdlib/array/shape]</span><span class="delimiter">: </span><span class="description">determine (nested) array dimensions.</span>
|
||||
- <span class="signature">[`circarray2iterator( src[, options][, mapFcn[, thisArg]] )`][@stdlib/array/to-circular-iterator]</span><span class="delimiter">: </span><span class="description">create an iterator which repeatedly iterates over the elements of an array-like object.</span>
|
||||
- <span class="signature">[`array2iteratorRight( src[, mapFcn[, thisArg]] )`][@stdlib/array/to-iterator-right]</span><span class="delimiter">: </span><span class="description">create an iterator from an array-like object, iterating from right to left.</span>
|
||||
- <span class="signature">[`array2iterator( src[, mapFcn[, thisArg]] )`][@stdlib/array/to-iterator]</span><span class="delimiter">: </span><span class="description">create an iterator from an array-like object.</span>
|
||||
- <span class="signature">[`typedarray2json( typedarray )`][@stdlib/array/to-json]</span><span class="delimiter">: </span><span class="description">return a JSON representation of a typed array.</span>
|
||||
- <span class="signature">[`sparsearray2iteratorRight( src[, mapFcn[, thisArg]] )`][@stdlib/array/to-sparse-iterator-right]</span><span class="delimiter">: </span><span class="description">create an iterator from a sparse array-like object, iterating from right to left.</span>
|
||||
- <span class="signature">[`sparsearray2iterator( src[, mapFcn[, thisArg]] )`][@stdlib/array/to-sparse-iterator]</span><span class="delimiter">: </span><span class="description">create an iterator from a sparse array-like object.</span>
|
||||
- <span class="signature">[`stridedarray2iterator( N, src, stride, offset[, mapFcn[, thisArg]] )`][@stdlib/array/to-strided-iterator]</span><span class="delimiter">: </span><span class="description">create an iterator from a strided array-like object.</span>
|
||||
- <span class="signature">[`arrayview2iteratorRight( src[, begin[, end]][, mapFcn[, thisArg]] )`][@stdlib/array/to-view-iterator-right]</span><span class="delimiter">: </span><span class="description">create an iterator from an array-like object view, iterating from right to left.</span>
|
||||
- <span class="signature">[`arrayview2iterator( src[, begin[, end]][, mapFcn[, thisArg]] )`][@stdlib/array/to-view-iterator]</span><span class="delimiter">: </span><span class="description">create an iterator from an array-like object view.</span>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- </toc> -->
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- TODO: better examples -->
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var objectKeys = require( '@stdlib/utils/keys' );
|
||||
var ns = require( '@stdlib/array' );
|
||||
|
||||
console.log( objectKeys( ns ) );
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
|
||||
<section class="main-repo" >
|
||||
|
||||
* * *
|
||||
|
||||
## Notice
|
||||
|
||||
This package is part of [stdlib][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][stdlib], see the main project [repository][stdlib].
|
||||
|
||||
#### Community
|
||||
|
||||
[![Chat][chat-image]][chat-url]
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
See [LICENSE][stdlib-license].
|
||||
|
||||
|
||||
## Copyright
|
||||
|
||||
Copyright © 2016-2021. The Stdlib [Authors][stdlib-authors].
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.stdlib -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
[npm-image]: http://img.shields.io/npm/v/@stdlib/array.svg
|
||||
[npm-url]: https://npmjs.org/package/@stdlib/array
|
||||
|
||||
[test-image]: https://github.com/stdlib-js/array/actions/workflows/test.yml/badge.svg
|
||||
[test-url]: https://github.com/stdlib-js/array/actions/workflows/test.yml
|
||||
|
||||
[coverage-image]: https://img.shields.io/codecov/c/github/stdlib-js/array/main.svg
|
||||
[coverage-url]: https://codecov.io/github/stdlib-js/array?branch=main
|
||||
|
||||
[dependencies-image]: https://img.shields.io/david/stdlib-js/array.svg
|
||||
[dependencies-url]: https://david-dm.org/stdlib-js/array/main
|
||||
|
||||
[chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
|
||||
[chat-url]: https://gitter.im/stdlib-js/stdlib/
|
||||
|
||||
[stdlib]: https://github.com/stdlib-js/stdlib
|
||||
|
||||
[stdlib-authors]: https://github.com/stdlib-js/stdlib/graphs/contributors
|
||||
|
||||
[stdlib-license]: https://raw.githubusercontent.com/stdlib-js/array/main/LICENSE
|
||||
|
||||
<!-- <toc-links> -->
|
||||
|
||||
[@stdlib/array/complex128]: https://www.npmjs.com/package/@stdlib/array/tree/main/complex128
|
||||
|
||||
[@stdlib/array/complex64]: https://www.npmjs.com/package/@stdlib/array/tree/main/complex64
|
||||
|
||||
[@stdlib/array/convert-same]: https://www.npmjs.com/package/@stdlib/array/tree/main/convert-same
|
||||
|
||||
[@stdlib/array/convert]: https://www.npmjs.com/package/@stdlib/array/tree/main/convert
|
||||
|
||||
[@stdlib/array/dataview]: https://www.npmjs.com/package/@stdlib/array/tree/main/dataview
|
||||
|
||||
[@stdlib/array/dtype]: https://www.npmjs.com/package/@stdlib/array/tree/main/dtype
|
||||
|
||||
[@stdlib/array/filled]: https://www.npmjs.com/package/@stdlib/array/tree/main/filled
|
||||
|
||||
[@stdlib/array/from-iterator]: https://www.npmjs.com/package/@stdlib/array/tree/main/from-iterator
|
||||
|
||||
[@stdlib/array/min-dtype]: https://www.npmjs.com/package/@stdlib/array/tree/main/min-dtype
|
||||
|
||||
[@stdlib/array/next-dtype]: https://www.npmjs.com/package/@stdlib/array/tree/main/next-dtype
|
||||
|
||||
[@stdlib/array/pool]: https://www.npmjs.com/package/@stdlib/array/tree/main/pool
|
||||
|
||||
[@stdlib/array/promotion-rules]: https://www.npmjs.com/package/@stdlib/array/tree/main/promotion-rules
|
||||
|
||||
[@stdlib/array/reviver]: https://www.npmjs.com/package/@stdlib/array/tree/main/reviver
|
||||
|
||||
[@stdlib/array/safe-casts]: https://www.npmjs.com/package/@stdlib/array/tree/main/safe-casts
|
||||
|
||||
[@stdlib/array/same-kind-casts]: https://www.npmjs.com/package/@stdlib/array/tree/main/same-kind-casts
|
||||
|
||||
[@stdlib/array/shape]: https://www.npmjs.com/package/@stdlib/array/tree/main/shape
|
||||
|
||||
[@stdlib/array/to-circular-iterator]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-circular-iterator
|
||||
|
||||
[@stdlib/array/to-iterator-right]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-iterator-right
|
||||
|
||||
[@stdlib/array/to-iterator]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-iterator
|
||||
|
||||
[@stdlib/array/to-json]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-json
|
||||
|
||||
[@stdlib/array/to-sparse-iterator-right]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-sparse-iterator-right
|
||||
|
||||
[@stdlib/array/to-sparse-iterator]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-sparse-iterator
|
||||
|
||||
[@stdlib/array/to-strided-iterator]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-strided-iterator
|
||||
|
||||
[@stdlib/array/to-view-iterator-right]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-view-iterator-right
|
||||
|
||||
[@stdlib/array/to-view-iterator]: https://www.npmjs.com/package/@stdlib/array/tree/main/to-view-iterator
|
||||
|
||||
[@stdlib/array/ctors]: https://www.npmjs.com/package/@stdlib/array/tree/main/ctors
|
||||
|
||||
[@stdlib/array/typed-complex-ctors]: https://www.npmjs.com/package/@stdlib/array/tree/main/typed-complex-ctors
|
||||
|
||||
[@stdlib/array/typed-ctors]: https://www.npmjs.com/package/@stdlib/array/tree/main/typed-ctors
|
||||
|
||||
[@stdlib/array/dtypes]: https://www.npmjs.com/package/@stdlib/array/tree/main/dtypes
|
||||
|
||||
[@stdlib/array/typed-complex-dtypes]: https://www.npmjs.com/package/@stdlib/array/tree/main/typed-complex-dtypes
|
||||
|
||||
[@stdlib/array/typed-dtypes]: https://www.npmjs.com/package/@stdlib/array/tree/main/typed-dtypes
|
||||
|
||||
[@stdlib/array/datespace]: https://www.npmjs.com/package/@stdlib/array/tree/main/datespace
|
||||
|
||||
[@stdlib/array/incrspace]: https://www.npmjs.com/package/@stdlib/array/tree/main/incrspace
|
||||
|
||||
[@stdlib/array/linspace]: https://www.npmjs.com/package/@stdlib/array/tree/main/linspace
|
||||
|
||||
[@stdlib/array/logspace]: https://www.npmjs.com/package/@stdlib/array/tree/main/logspace
|
||||
|
||||
[@stdlib/array/typed]: https://www.npmjs.com/package/@stdlib/array/tree/main/typed
|
||||
|
||||
[@stdlib/array/buffer]: https://www.npmjs.com/package/@stdlib/array/tree/main/buffer
|
||||
|
||||
[@stdlib/array/float32]: https://www.npmjs.com/package/@stdlib/array/tree/main/float32
|
||||
|
||||
[@stdlib/array/float64]: https://www.npmjs.com/package/@stdlib/array/tree/main/float64
|
||||
|
||||
[@stdlib/array/int16]: https://www.npmjs.com/package/@stdlib/array/tree/main/int16
|
||||
|
||||
[@stdlib/array/int32]: https://www.npmjs.com/package/@stdlib/array/tree/main/int32
|
||||
|
||||
[@stdlib/array/int8]: https://www.npmjs.com/package/@stdlib/array/tree/main/int8
|
||||
|
||||
[@stdlib/array/shared-buffer]: https://www.npmjs.com/package/@stdlib/array/tree/main/shared-buffer
|
||||
|
||||
[@stdlib/array/uint16]: https://www.npmjs.com/package/@stdlib/array/tree/main/uint16
|
||||
|
||||
[@stdlib/array/uint32]: https://www.npmjs.com/package/@stdlib/array/tree/main/uint32
|
||||
|
||||
[@stdlib/array/uint8]: https://www.npmjs.com/package/@stdlib/array/tree/main/uint8
|
||||
|
||||
[@stdlib/array/uint8c]: https://www.npmjs.com/package/@stdlib/array/tree/main/uint8c
|
||||
|
||||
<!-- </toc-links> -->
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
235
js/node_modules/@stdlib/array/buffer/README.md
generated
vendored
Normal file
235
js/node_modules/@stdlib/array/buffer/README.md
generated
vendored
Normal file
|
@ -0,0 +1,235 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2018 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# ArrayBuffer
|
||||
|
||||
> [Constructor][mdn-arraybuffer] which returns an object used to represent a generic, fixed-length raw binary data buffer.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
```
|
||||
|
||||
#### ArrayBuffer( size )
|
||||
|
||||
Returns an [`ArrayBuffer`][mdn-arraybuffer] having a specified number of bytes.
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var buf = new ArrayBuffer( 5 );
|
||||
// returns <ArrayBuffer>
|
||||
```
|
||||
|
||||
* * *
|
||||
|
||||
### Properties
|
||||
|
||||
#### ArrayBuffer.length
|
||||
|
||||
Number of input arguments the constructor accepts.
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var len = ArrayBuffer.length;
|
||||
// returns 1
|
||||
```
|
||||
|
||||
#### ArrayBuffer.prototype.byteLength
|
||||
|
||||
**Read-only** property which returns the length (in bytes) of the [`ArrayBuffer`][mdn-arraybuffer].
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var buf = new ArrayBuffer( 5 );
|
||||
var byteLength = buf.byteLength;
|
||||
// returns 5
|
||||
```
|
||||
|
||||
* * *
|
||||
|
||||
### Methods
|
||||
|
||||
#### ArrayBuffer.isView( arr )
|
||||
|
||||
Static method which returns a `boolean` indicating if provided a buffer view.
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var Float64Array = require( '@stdlib/array/float64' );
|
||||
var view = new Float64Array( 10 );
|
||||
|
||||
var bool = ArrayBuffer.isView( view );
|
||||
// returns true
|
||||
```
|
||||
|
||||
#### ArrayBuffer.prototype.slice( \[start\[, end]] )
|
||||
|
||||
Copies the bytes of an `ArrayBuffer` to a new [`ArrayBuffer`][mdn-arraybuffer].
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var b1 = new ArrayBuffer( 10 );
|
||||
|
||||
var b2 = b1.slice();
|
||||
// returns <ArrayBuffer>
|
||||
|
||||
var bool = ( b2 === b1 );
|
||||
// returns false
|
||||
```
|
||||
|
||||
By default, the method copies from the beginning of the [`ArrayBuffer`][mdn-arraybuffer]. To beginning copying from a different byte index, provide a `start` argument, specifying the starting byte index (inclusive).
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var b1 = new ArrayBuffer( 10 );
|
||||
var b2 = b1.slice( 2 );
|
||||
|
||||
var nbytes = b2.byteLength;
|
||||
// returns 8
|
||||
```
|
||||
|
||||
If `start < 0`, the index is relative to the end of the [`ArrayBuffer`][mdn-arraybuffer].
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var b1 = new ArrayBuffer( 10 );
|
||||
var b2 = b1.slice( -2 );
|
||||
|
||||
var nbytes = b2.byteLength;
|
||||
// returns 2
|
||||
```
|
||||
|
||||
By default, the method copies to the end of the [`ArrayBuffer`][mdn-arraybuffer]. To copy until a particular byte index, provide an `end` index, specifying the ending byte index (exclusive).
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var b1 = new ArrayBuffer( 10 );
|
||||
var b2 = b1.slice( 2, 6 );
|
||||
|
||||
var nbytes = b2.byteLength;
|
||||
// returns 4
|
||||
```
|
||||
|
||||
If `end < 0`, the index is relative to the end of the [`ArrayBuffer`][mdn-arraybuffer].
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var b1 = new ArrayBuffer( 10 );
|
||||
var b2 = b1.slice( 2, -2 );
|
||||
|
||||
var nbytes = b2.byteLength;
|
||||
// returns 6
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
* * *
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var randu = require( '@stdlib/random/base/randu' );
|
||||
var Float64Array = require( '@stdlib/array/float64' );
|
||||
var Uint8Array = require( '@stdlib/array/uint8' );
|
||||
var toBinaryString = require( '@stdlib/number/uint8/base/to-binary-string' );
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
|
||||
var bytes;
|
||||
var buf;
|
||||
var arr;
|
||||
var i;
|
||||
|
||||
// Create a new ArrayBuffer:
|
||||
buf = new ArrayBuffer( 64 );
|
||||
|
||||
// Create a Float64 array buffer view:
|
||||
arr = new Float64Array( buf.byteLength/8 );
|
||||
for ( i = 0; i < arr.length; i++ ) {
|
||||
arr[ i ] = randu() * 100.0;
|
||||
}
|
||||
|
||||
// Create a "bytes" view of the array buffer:
|
||||
bytes = new Uint8Array( arr.buffer );
|
||||
|
||||
// Print the bytes:
|
||||
for ( i = 0; i < bytes.length; i++ ) {
|
||||
console.log( 'byte %d: %s', i, toBinaryString( bytes[ i ] ) );
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
[mdn-arraybuffer]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
92
js/node_modules/@stdlib/array/buffer/docs/repl.txt
generated
vendored
Normal file
92
js/node_modules/@stdlib/array/buffer/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,92 @@
|
|||
|
||||
{{alias}}( size )
|
||||
Returns an array buffer having a specified number of bytes.
|
||||
|
||||
Buffer contents are initialized to 0.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
size: integer
|
||||
Number of bytes.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: ArrayBuffer
|
||||
An array buffer.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var buf = new {{alias}}( 5 )
|
||||
<ArrayBuffer>
|
||||
|
||||
|
||||
{{alias}}.length
|
||||
Number of input arguments the constructor accepts.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> {{alias}}.length
|
||||
1
|
||||
|
||||
|
||||
{{alias}}.isView( arr )
|
||||
Returns a boolean indicating if provided an array buffer view.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
arr: any
|
||||
Value to test.
|
||||
|
||||
Returns
|
||||
-------
|
||||
bool: boolean
|
||||
Boolean indicating if an input argument is a buffer view.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias:@stdlib/array/float64}}( 10 );
|
||||
> {{alias}}.isView( arr )
|
||||
true
|
||||
|
||||
|
||||
{{alias}}.prototype.byteLength
|
||||
Read-only property which returns the length (in bytes) of the array buffer.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var buf = new {{alias}}( 5 );
|
||||
> buf.byteLength
|
||||
5
|
||||
|
||||
|
||||
{{alias}}.prototype.slice( [start[, end]] )
|
||||
Copies the bytes of an array buffer to a new array buffer.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
start: integer (optional)
|
||||
Index at which to start copying buffer contents (inclusive). If
|
||||
negative, the index is relative to the end of the buffer.
|
||||
|
||||
end: integer (optional)
|
||||
Index at which to stop copying buffer contents (exclusive). If negative,
|
||||
the index is relative to the end of the buffer.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: ArrayBuffer
|
||||
A new array buffer whose contents have been copied from the calling
|
||||
array buffer.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var b1 = new {{alias}}( 10 );
|
||||
> var b2 = b1.slice( 2, 6 );
|
||||
> var bool = ( b1 === b2 )
|
||||
false
|
||||
> b2.byteLength
|
||||
4
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
26
js/node_modules/@stdlib/array/buffer/docs/types/index.d.ts
generated
vendored
Normal file
26
js/node_modules/@stdlib/array/buffer/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
/**
|
||||
* Constructor which returns an object used to represent a generic, fixed-length raw binary data buffer.
|
||||
*/
|
||||
export = ArrayBuffer;
|
35
js/node_modules/@stdlib/array/buffer/docs/types/test.ts
generated
vendored
Normal file
35
js/node_modules/@stdlib/array/buffer/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// tslint:disable: no-construct
|
||||
// tslint:disable: no-unused-expression
|
||||
|
||||
import ArrayBuffer = require( './index' );
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns a data view instance...
|
||||
{
|
||||
new ArrayBuffer( 5 ); // $ExpectType ArrayBuffer
|
||||
}
|
||||
|
||||
// The constructor function has to be invoked with `new`...
|
||||
{
|
||||
ArrayBuffer( 5 ); // $ExpectError
|
||||
}
|
28
js/node_modules/@stdlib/array/buffer/lib/arraybuffer.js
generated
vendored
Normal file
28
js/node_modules/@stdlib/array/buffer/lib/arraybuffer.js
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MAIN //
|
||||
|
||||
var ctor = ( typeof ArrayBuffer === 'function' ) ? ArrayBuffer : void 0; // eslint-disable-line stdlib/require-globals
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctor;
|
52
js/node_modules/@stdlib/array/buffer/lib/index.js
generated
vendored
Normal file
52
js/node_modules/@stdlib/array/buffer/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Constructor which returns an object used to represent a generic, fixed-length raw binary data buffer.
|
||||
*
|
||||
* @module @stdlib/array/buffer
|
||||
*
|
||||
* @example
|
||||
* var ctor = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ctor( 10 );
|
||||
* // returns <ArrayBuffer>
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var hasArrayBufferSupport = require( '@stdlib/assert/has-arraybuffer-support' );
|
||||
var builtin = require( './arraybuffer.js' );
|
||||
var polyfill = require( './polyfill.js' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
var ctor;
|
||||
if ( hasArrayBufferSupport() ) {
|
||||
ctor = builtin;
|
||||
} else {
|
||||
ctor = polyfill;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctor;
|
37
js/node_modules/@stdlib/array/buffer/lib/polyfill.js
generated
vendored
Normal file
37
js/node_modules/@stdlib/array/buffer/lib/polyfill.js
generated
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// TODO: write polyfill
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Constructor which returns an object used to represent a generic, fixed-length raw binary data buffer.
|
||||
*
|
||||
* @throws {Error} not implemented
|
||||
*/
|
||||
function polyfill() {
|
||||
throw new Error( 'not implemented' );
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = polyfill;
|
66
js/node_modules/@stdlib/array/buffer/package.json
generated
vendored
Normal file
66
js/node_modules/@stdlib/array/buffer/package.json
generated
vendored
Normal file
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
"name": "@stdlib/array/buffer",
|
||||
"version": "0.0.0",
|
||||
"description": "ArrayBuffer.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"data",
|
||||
"structure",
|
||||
"array",
|
||||
"typed",
|
||||
"typed array",
|
||||
"typed-array",
|
||||
"arraybuffer",
|
||||
"buffer",
|
||||
"buf",
|
||||
"binary"
|
||||
]
|
||||
}
|
127
js/node_modules/@stdlib/array/complex128/README.md
generated
vendored
Normal file
127
js/node_modules/@stdlib/array/complex128/README.md
generated
vendored
Normal file
|
@ -0,0 +1,127 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2021 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Complex128Array
|
||||
|
||||
> 128-bit complex number array.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var Complex128Array = require( '@stdlib/array/complex128' );
|
||||
```
|
||||
|
||||
<a name="constructor"></a>
|
||||
|
||||
#### Complex128Array()
|
||||
|
||||
Creates a 128-bit complex number array.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex128Array();
|
||||
// returns <Complex128Array>
|
||||
```
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
* * *
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var Complex128 = require( '@stdlib/complex/float64' );
|
||||
var Float64Array = require( '@stdlib/array/float64' );
|
||||
var Complex128Array = require( '@stdlib/array/complex128' );
|
||||
|
||||
var arr;
|
||||
var out;
|
||||
|
||||
// Create a complex array by specifying a length:
|
||||
out = new Complex128Array( 3 );
|
||||
console.log( out );
|
||||
|
||||
// Create a complex array from an array of complex numbers:
|
||||
arr = [
|
||||
new Complex128( 1.0, -1.0 ),
|
||||
new Complex128( -3.14, 3.14 ),
|
||||
new Complex128( 0.5, 0.5 )
|
||||
];
|
||||
out = new Complex128Array( arr );
|
||||
console.log( out );
|
||||
|
||||
// Create a complex array from an interleaved typed array:
|
||||
arr = new Float64Array( [ 1.0, -1.0, -3.14, 3.14, 0.5, 0.5 ] );
|
||||
out = new Complex128Array( arr );
|
||||
console.log( out );
|
||||
|
||||
// Create a complex array from an array buffer:
|
||||
arr = new Float64Array( [ 1.0, -1.0, -3.14, 3.14, 0.5, 0.5 ] );
|
||||
out = new Complex128Array( arr.buffer );
|
||||
console.log( out );
|
||||
|
||||
// Create a complex array from an array buffer view:
|
||||
arr = new Float64Array( [ 1.0, -1.0, -3.14, 3.14, 0.5, 0.5 ] );
|
||||
out = new Complex128Array( arr.buffer, 16, 2 );
|
||||
console.log( out );
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
538
js/node_modules/@stdlib/array/complex128/docs/types/index.d.ts
generated
vendored
Normal file
538
js/node_modules/@stdlib/array/complex128/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,538 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/// <reference types="@stdlib/types"/>
|
||||
|
||||
import { ArrayLike, TypedArray } from '@stdlib/types/array';
|
||||
import { ComplexLike } from '@stdlib/types/object';
|
||||
import ArrayBuffer = require( './../../../buffer' );
|
||||
import Complex128 = require( '@stdlib/complex/float64' );
|
||||
|
||||
/**
|
||||
* Class for creating a 128-bit complex number array.
|
||||
*/
|
||||
declare class Complex128Array {
|
||||
/**
|
||||
* 128-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array();
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex128Array( buf );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex128Array( buf, 8 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex128Array( buf, 8, 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
constructor( arg?: number | TypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ); // tslint:disable-line:max-line-length
|
||||
|
||||
/**
|
||||
* Length (in bytes) of the array.
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var byteLength = arr.byteLength;
|
||||
* // returns 160
|
||||
*/
|
||||
readonly byteLength: number;
|
||||
|
||||
/**
|
||||
* Offset (in bytes) of the array from the start of its underlying `ArrayBuffer`.
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var byteOffset = arr.byteOffset;
|
||||
* // returns 0
|
||||
*/
|
||||
readonly byteOffset: number;
|
||||
|
||||
/**
|
||||
* Size (in bytes) of each array element.
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var nbytes = arr.BYTES_PER_ELEMENT;
|
||||
* // returns 16
|
||||
*/
|
||||
readonly BYTES_PER_ELEMENT: number;
|
||||
|
||||
/**
|
||||
* Number of array elements.
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 10
|
||||
*/
|
||||
readonly length: number;
|
||||
|
||||
/**
|
||||
* Returns an array element.
|
||||
*
|
||||
* @param i - element index
|
||||
* @throws index argument must be a nonnegative integer
|
||||
* @returns array element
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var z = arr.get( 0 );
|
||||
* // returns <Complex128>
|
||||
*
|
||||
* arr.set( [ 1.0, -1.0 ], 0 );
|
||||
*
|
||||
* z = arr.get( 100 );
|
||||
* // returns undefined
|
||||
*/
|
||||
get( i: number ): Complex128 | void;
|
||||
|
||||
/**
|
||||
* Returns an array element.
|
||||
*
|
||||
* @param out - output array
|
||||
* @param i - element index
|
||||
* @throws index argument must be a nonnegative integer
|
||||
* @returns array element
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var z = arr.get( 0 );
|
||||
* // returns <Complex128>
|
||||
*
|
||||
* arr.set( [ 1.0, -1.0 ], 0 );
|
||||
*
|
||||
* z = arr.get( [ 0.0, 0.0 ], 0 );
|
||||
* // returns [ 1.0, -1.0 ]
|
||||
*/
|
||||
get( out: ArrayLike<number>, i: number ): ArrayLike<number> | void;
|
||||
|
||||
/**
|
||||
* Sets an array element.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - When provided a typed array, real or complex, we must check whether the source array shares the same buffer as the target array and whether the underlying memory overlaps. In particular, we are concerned with the following scenario:
|
||||
*
|
||||
* ```text
|
||||
* buf: ---------------------
|
||||
* src: ---------------------
|
||||
* ```
|
||||
*
|
||||
* In the above, as we copy values from `src`, we will overwrite values in the `src` view, resulting in duplicated values copied into the end of `buf`, which is not intended. Hence, to avoid overwriting source values, we must **copy** source values to a temporary array.
|
||||
*
|
||||
* In the other overlapping scenario,
|
||||
*
|
||||
* ```text
|
||||
* buf: ---------------------
|
||||
* src: ---------------------
|
||||
* ```
|
||||
*
|
||||
* by the time we begin copying into the overlapping region, we are copying from the end of `src`, a non-overlapping region, which means we don't run the risk of copying copied values, rather than the original `src` values as intended.
|
||||
*
|
||||
*
|
||||
* @param value - value(s)
|
||||
* @param i - element index at which to start writing values (default: 0)
|
||||
* @throws index argument must be a nonnegative integer
|
||||
* @throws array-like objects must have a length which is a multiple of two
|
||||
* @throws index argument is out-of-bounds
|
||||
* @throws target array lacks sufficient storage to accommodate source values
|
||||
*
|
||||
* @example
|
||||
* var real = require( `@stdlib/complex/real` );
|
||||
* var imag = require( `@stdlib/complex/imag` );
|
||||
*
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var z = arr.get( 0 );
|
||||
* // returns <Complex128>
|
||||
*
|
||||
* var re = real( z );
|
||||
* // returns 0.0
|
||||
*
|
||||
* var im = imag( z );
|
||||
* // returns 0.0
|
||||
*
|
||||
* arr.set( [ 1.0, -1.0 ], 0 );
|
||||
*
|
||||
* z = arr.get( 0 );
|
||||
* // returns <Complex128>
|
||||
*
|
||||
* re = real( z );
|
||||
* // returns 1.0
|
||||
*
|
||||
* im = imag( z );
|
||||
* // returns -1.0
|
||||
*/
|
||||
set( value: ArrayLike<number | ComplexLike> | Complex128Array | ComplexLike, i?: number ): void; // tslint:disable-line:max-line-length
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface defining a 128-bit complex number array constructor which is both "newable" and "callable".
|
||||
*/
|
||||
interface Constructor {
|
||||
/**
|
||||
* 128-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array();
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex128Array( buf );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex128Array( buf, 8 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex128Array( buf, 8, 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
new( arg?: number | TypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ): Complex128Array; // tslint-disable-line max-line-length
|
||||
|
||||
/**
|
||||
* 128-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array();
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex128Array( buf );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex128Array( buf, 8 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex128Array( buf, 8, 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
( arg?: number | TypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ): Complex128Array; // tslint-disable-line max-line-length
|
||||
|
||||
/**
|
||||
* Constructor name.
|
||||
*
|
||||
* @example
|
||||
* var str = Complex128Array.name;
|
||||
* // returns 'Complex128Array'
|
||||
*/
|
||||
readonly name: string;
|
||||
|
||||
/**
|
||||
* Size (in bytes) of each array element.
|
||||
*
|
||||
* @example
|
||||
* var nbytes = Complex128Array.BYTES_PER_ELEMENT;
|
||||
* // returns 16
|
||||
*/
|
||||
readonly BYTES_PER_ELEMENT: number;
|
||||
|
||||
/**
|
||||
* Creates a new 128-bit complex number array from an array-like object or an iterable.
|
||||
*
|
||||
* @param src - array-like object or iterable
|
||||
* @param clbk - callback to invoke for each source element
|
||||
* @param thisArg - context
|
||||
* @throws array-like objects must have a length which is a multiple of two
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @throws when provided an iterator, a callback must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns 128-bit complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = Complex128Array.from( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var Complex128 = require( `@stdlib/complex/float64` );
|
||||
*
|
||||
* var arr = Complex128Array.from( [ new Complex128( 1.0, 1.0 ) ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var Complex128 = require( `@stdlib/complex/float64` );
|
||||
* var real = require( `@stdlib/complex/real` );
|
||||
* var imag = require( `@stdlib/complex/imag` );
|
||||
*
|
||||
* function clbk( v ) {
|
||||
* return new Complex128( real(v)*2.0, imag(v)*2.0 );
|
||||
* }
|
||||
*
|
||||
* var arr = Complex128Array.from( [ new Complex128( 1.0, 1.0 ) ], clbk );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*/
|
||||
from( src: ArrayLike<number | ComplexLike> | Iterable<number | ComplexLike>, clbk?: Function, thisArg?: any ): Complex128Array; // tslint:disable-line:max-line-length
|
||||
|
||||
/**
|
||||
* Creates a new 128-bit complex number array from a variable number of arguments.
|
||||
*
|
||||
* @param element - array elements
|
||||
* @returns 128-bit complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = Complex128Array.of( 1.0, 1.0, 1.0, 1.0 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
of( ...elements: Array<number> ): Complex128Array;
|
||||
}
|
||||
|
||||
/**
|
||||
* 128-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array();
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex128Array( buf );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex128Array( buf, 8 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex128Array( buf, 8, 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
declare var ctor: Constructor;
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = ctor;
|
153
js/node_modules/@stdlib/array/complex128/docs/types/test.ts
generated
vendored
Normal file
153
js/node_modules/@stdlib/array/complex128/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,153 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// tslint:disable:no-unused-expression
|
||||
|
||||
import Complex128Array = require( './index' );
|
||||
import Complex128 = require( '@stdlib/complex/float64' );
|
||||
import ArrayBuffer = require( './../../../buffer' );
|
||||
import real = require( '@stdlib/complex/real' );
|
||||
import imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
const clbk = ( v: Complex128 ) => {
|
||||
return new Complex128( real( v ) * 2.0, imag( v ) * 2.0 );
|
||||
};
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns a complex number array...
|
||||
{
|
||||
new Complex128Array(); // $ExpectType Complex128Array
|
||||
Complex128Array(); // $ExpectType Complex128Array
|
||||
new Complex128Array( 2 ); // $ExpectType Complex128Array
|
||||
Complex128Array( 2 ); // $ExpectType Complex128Array
|
||||
new Complex128Array( [ 1.0, -1.0 ] ); // $ExpectType Complex128Array
|
||||
Complex128Array( [ 1.0, -1.0 ] ); // $ExpectType Complex128Array
|
||||
|
||||
const buf = new ArrayBuffer( 16 );
|
||||
new Complex128Array( buf ); // $ExpectType Complex128Array
|
||||
Complex128Array( buf ); // $ExpectType Complex128Array
|
||||
new Complex128Array( buf, 8 ); // $ExpectType Complex128Array
|
||||
Complex128Array( buf, 8 ); // $ExpectType Complex128Array
|
||||
new Complex128Array( buf, 8, 2 ); // $ExpectType Complex128Array
|
||||
Complex128Array( buf, 8, 2 ); // $ExpectType Complex128Array
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a first argument that is not a number, typed array, array-like object, or array buffer...
|
||||
{
|
||||
new Complex128Array( true ); // $ExpectError
|
||||
new Complex128Array( false ); // $ExpectError
|
||||
new Complex128Array( null ); // $ExpectError
|
||||
new Complex128Array( 'abc' ); // $ExpectError
|
||||
new Complex128Array( {} ); // $ExpectError
|
||||
new Complex128Array( ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
Complex128Array( true ); // $ExpectError
|
||||
Complex128Array( false ); // $ExpectError
|
||||
Complex128Array( null ); // $ExpectError
|
||||
Complex128Array( 'abc' ); // $ExpectError
|
||||
Complex128Array( {} ); // $ExpectError
|
||||
Complex128Array( ( x: number ): number => x ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a second argument that is not a number...
|
||||
{
|
||||
const buf = new ArrayBuffer( 16 );
|
||||
new Complex128Array( buf, true ); // $ExpectError
|
||||
new Complex128Array( buf, false ); // $ExpectError
|
||||
new Complex128Array( buf, null ); // $ExpectError
|
||||
new Complex128Array( buf, 'abc' ); // $ExpectError
|
||||
new Complex128Array( buf, {} ); // $ExpectError
|
||||
new Complex128Array( buf, ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
Complex128Array( buf, true ); // $ExpectError
|
||||
Complex128Array( buf, false ); // $ExpectError
|
||||
Complex128Array( buf, null ); // $ExpectError
|
||||
Complex128Array( buf, 'abc' ); // $ExpectError
|
||||
Complex128Array( buf, {} ); // $ExpectError
|
||||
Complex128Array( buf, ( x: number ): number => x ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a third argument that is not a number...
|
||||
{
|
||||
const buf = new ArrayBuffer( 16 );
|
||||
new Complex128Array( buf, 8, true ); // $ExpectError
|
||||
new Complex128Array( buf, 8, false ); // $ExpectError
|
||||
new Complex128Array( buf, 8, null ); // $ExpectError
|
||||
new Complex128Array( buf, 8, 'abc' ); // $ExpectError
|
||||
new Complex128Array( buf, 8, {} ); // $ExpectError
|
||||
new Complex128Array( buf, 8, ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
Complex128Array( buf, 8, true ); // $ExpectError
|
||||
Complex128Array( buf, 8, false ); // $ExpectError
|
||||
Complex128Array( buf, 8, null ); // $ExpectError
|
||||
Complex128Array( buf, 8, 'abc' ); // $ExpectError
|
||||
Complex128Array( buf, 8, {} ); // $ExpectError
|
||||
Complex128Array( buf, 8, ( x: number ): number => x ); // $ExpectError
|
||||
}
|
||||
|
||||
// The `from` method returns a complex number array...
|
||||
{
|
||||
Complex128Array.from( [ 1.0, 1.0 ] ); // $ExpectType Complex128Array
|
||||
Complex128Array.from( [ 1.0, 1.0 ], ( x: number ): number => x * x ); // $ExpectType Complex128Array
|
||||
Complex128Array.from( [ new Complex128( 1.0, 1.0 ) ], clbk, {} ); // $ExpectType Complex128Array
|
||||
}
|
||||
|
||||
// The compiler throws an error if the `from` method is provided a first argument which is not array-like or iterable...
|
||||
{
|
||||
Complex128Array.from( true ); // $ExpectError
|
||||
Complex128Array.from( false ); // $ExpectError
|
||||
Complex128Array.from( 123 ); // $ExpectError
|
||||
Complex128Array.from( null ); // $ExpectError
|
||||
Complex128Array.from( {} ); // $ExpectError
|
||||
|
||||
Complex128Array.from( true, clbk ); // $ExpectError
|
||||
Complex128Array.from( false, clbk ); // $ExpectError
|
||||
Complex128Array.from( 123, clbk ); // $ExpectError
|
||||
Complex128Array.from( null, clbk ); // $ExpectError
|
||||
Complex128Array.from( {}, clbk ); // $ExpectError
|
||||
|
||||
Complex128Array.from( true, clbk, {} ); // $ExpectError
|
||||
Complex128Array.from( false, clbk, {} ); // $ExpectError
|
||||
Complex128Array.from( 123, clbk, {} ); // $ExpectError
|
||||
Complex128Array.from( null, clbk, {} ); // $ExpectError
|
||||
Complex128Array.from( {}, clbk, {} ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the `from` method is provided a second argument which is not a function with a supported signature...
|
||||
{
|
||||
Complex128Array.from( [ 1, 1 ], true ); // $ExpectError
|
||||
Complex128Array.from( [ 1, 1 ], false ); // $ExpectError
|
||||
Complex128Array.from( [ 1, 1 ], 123 ); // $ExpectError
|
||||
Complex128Array.from( [ 1, 1 ], null ); // $ExpectError
|
||||
Complex128Array.from( [ 1, 1 ], {} ); // $ExpectError
|
||||
}
|
||||
|
||||
// The `of` method returns a complex number array...
|
||||
{
|
||||
Complex128Array.of( 1.0, 1.0, 1.0, 1.0 ); // $ExpectType Complex128Array
|
||||
}
|
||||
|
||||
// The compiler throws an error if the `of` method is provided arguments that are not numbers...
|
||||
{
|
||||
Complex128Array.of( 'abc', 'def' ); // $ExpectError
|
||||
Complex128Array.of( true, false ); // $ExpectError
|
||||
Complex128Array.of( {}, [] ); // $ExpectError
|
||||
Complex128Array.of( null, null ); // $ExpectError
|
||||
}
|
61
js/node_modules/@stdlib/array/complex128/lib/from_array.js
generated
vendored
Normal file
61
js/node_modules/@stdlib/array/complex128/lib/from_array.js
generated
vendored
Normal file
|
@ -0,0 +1,61 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isComplexLike = require( '@stdlib/assert/is-complex-like' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns a strided array of real and imaginary components.
|
||||
*
|
||||
* @private
|
||||
* @param {Float64Array} buf - output array
|
||||
* @param {Array} arr - array containing complex numbers
|
||||
* @returns {(Float64Array|null)} output array or null
|
||||
*/
|
||||
function fromArray( buf, arr ) {
|
||||
var len;
|
||||
var v;
|
||||
var i;
|
||||
var j;
|
||||
|
||||
len = arr.length;
|
||||
j = 0;
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
v = arr[ i ];
|
||||
if ( !isComplexLike( v ) ) {
|
||||
return null;
|
||||
}
|
||||
buf[ j ] = real( v );
|
||||
buf[ j+1 ] = imag( v );
|
||||
j += 2; // stride
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = fromArray;
|
64
js/node_modules/@stdlib/array/complex128/lib/from_iterator.js
generated
vendored
Normal file
64
js/node_modules/@stdlib/array/complex128/lib/from_iterator.js
generated
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );
|
||||
var isComplexLike = require( '@stdlib/assert/is-complex-like' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns an array of iterated values.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} it - iterator
|
||||
* @returns {(Array|TypeError)} array or an error
|
||||
*/
|
||||
function fromIterator( it ) {
|
||||
var out;
|
||||
var v;
|
||||
|
||||
out = [];
|
||||
while ( true ) {
|
||||
v = it.next();
|
||||
if ( v.value ) {
|
||||
if ( isArrayLikeObject( v.value ) ) {
|
||||
out.push( v.value[0], v.value[1] );
|
||||
} else if ( isComplexLike( v.value ) ) {
|
||||
out.push( real( v.value ), imag( v.value ) );
|
||||
} else {
|
||||
return new TypeError( 'invalid argument. An iterator must return either a two-element array containing real and imaginary components or a complex number. Value: `'+v.value+'`.' );
|
||||
}
|
||||
}
|
||||
if ( v.done ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = fromIterator;
|
70
js/node_modules/@stdlib/array/complex128/lib/from_iterator_map.js
generated
vendored
Normal file
70
js/node_modules/@stdlib/array/complex128/lib/from_iterator_map.js
generated
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );
|
||||
var isComplexLike = require( '@stdlib/assert/is-complex-like' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns an array of iterated values.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} it - iterator
|
||||
* @param {Function} clbk - callback to invoke for each iterated value
|
||||
* @param {*} thisArg - invocation context
|
||||
* @returns {(Array|TypeError)} array or an error
|
||||
*/
|
||||
function fromIteratorMap( it, clbk, thisArg ) {
|
||||
var out;
|
||||
var v;
|
||||
var i;
|
||||
|
||||
out = [];
|
||||
i = 0;
|
||||
while ( true ) {
|
||||
v = it.next();
|
||||
i += 1;
|
||||
if ( v.value ) {
|
||||
v = clbk.call( thisArg, v.value, i );
|
||||
if ( isArrayLikeObject( v ) ) {
|
||||
out.push( v[ 0 ], v[ 1 ] );
|
||||
} else if ( isComplexLike( v ) ) {
|
||||
out.push( real( v ), imag( v ) );
|
||||
} else {
|
||||
return new TypeError( 'invalid argument. Callback must return either a two-element array containing real and imaginary components or a complex number. Value: `'+v+'`.' );
|
||||
}
|
||||
}
|
||||
if ( v.done ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = fromIteratorMap;
|
94
js/node_modules/@stdlib/array/complex128/lib/index.js
generated
vendored
Normal file
94
js/node_modules/@stdlib/array/complex128/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,94 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* 128-bit complex number array.
|
||||
*
|
||||
* @module @stdlib/array/complex128
|
||||
*
|
||||
* @example
|
||||
* var Complex128Array = require( '@stdlib/array/complex128' );
|
||||
*
|
||||
* var arr = new Complex128Array();
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var Complex128Array = require( '@stdlib/array/complex128' );
|
||||
*
|
||||
* var arr = new Complex128Array( 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var Complex128Array = require( '@stdlib/array/complex128' );
|
||||
*
|
||||
* var arr = new Complex128Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var Complex128Array = require( '@stdlib/array/complex128' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex128Array( buf );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var Complex128Array = require( '@stdlib/array/complex128' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex128Array( buf, 16 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var Complex128Array = require( '@stdlib/array/complex128' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 64 );
|
||||
* var arr = new Complex128Array( buf, 16, 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var Complex128Array = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = Complex128Array;
|
883
js/node_modules/@stdlib/array/complex128/lib/main.js
generated
vendored
Normal file
883
js/node_modules/@stdlib/array/complex128/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,883 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable no-restricted-syntax */
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isPrimitive;
|
||||
var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );
|
||||
var isCollection = require( '@stdlib/assert/is-collection' );
|
||||
var isArrayBuffer = require( '@stdlib/assert/is-arraybuffer' );
|
||||
var isObject = require( '@stdlib/assert/is-object' );
|
||||
var isArray = require( '@stdlib/assert/is-array' );
|
||||
var isFunction = require( '@stdlib/assert/is-function' );
|
||||
var isComplexLike = require( '@stdlib/assert/is-complex-like' );
|
||||
var isEven = require( '@stdlib/math/base/assert/is-even' );
|
||||
var isInteger = require( '@stdlib/math/base/assert/is-integer' );
|
||||
var hasIteratorSymbolSupport = require( '@stdlib/assert/has-iterator-symbol-support' );
|
||||
var ITERATOR_SYMBOL = require( '@stdlib/symbol/iterator' );
|
||||
var defineProperty = require( '@stdlib/utils/define-property' );
|
||||
var Float64Array = require( './../../float64' );
|
||||
var Complex128 = require( '@stdlib/complex/float64' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
var fromIterator = require( './from_iterator.js' );
|
||||
var fromIteratorMap = require( './from_iterator_map.js' );
|
||||
var fromArray = require( './from_array.js' );
|
||||
|
||||
|
||||
// VARIABLES //
|
||||
|
||||
var BYTES_PER_ELEMENT = Float64Array.BYTES_PER_ELEMENT * 2;
|
||||
var HAS_ITERATOR_SYMBOL = hasIteratorSymbolSupport();
|
||||
|
||||
|
||||
// FUNCTIONS //
|
||||
|
||||
/**
|
||||
* Returns a boolean indicating if a value is a complex typed array.
|
||||
*
|
||||
* @private
|
||||
* @param {*} value - value to test
|
||||
* @returns {boolean} boolean indicating if a value is a complex typed array
|
||||
*/
|
||||
function isComplexArray( value ) {
|
||||
return (
|
||||
value instanceof Complex128Array ||
|
||||
(
|
||||
typeof value === 'object' &&
|
||||
value !== null &&
|
||||
(
|
||||
value.constructor.name === 'Complex64Array' ||
|
||||
value.constructor.name === 'Complex128Array'
|
||||
) &&
|
||||
typeof value._length === 'number' && // eslint-disable-line no-underscore-dangle
|
||||
|
||||
// NOTE: we don't perform a more rigorous test here for a typed array for performance reasons, as robustly checking for a typed array instance could require walking the prototype tree and performing relatively expensive constructor checks...
|
||||
typeof value._buffer === 'object' // eslint-disable-line no-underscore-dangle
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a boolean indicating if a value is a complex typed array constructor.
|
||||
*
|
||||
* @private
|
||||
* @param {*} value - value to test
|
||||
* @returns {boolean} boolean indicating if a value is a complex typed array constructor
|
||||
*/
|
||||
function isComplexArrayConstructor( value ) {
|
||||
return (
|
||||
value === Complex128Array ||
|
||||
|
||||
// NOTE: weaker test in order to avoid a circular dependency with Complex64Array...
|
||||
value.name === 'Complex64Array'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* 128-bit complex number array constructor.
|
||||
*
|
||||
* @constructor
|
||||
* @param {(NonNegativeInteger|TypedArray|ArrayLikeObject|ArrayBuffer|Iterable)} [arg] - length, typed array, array-like object, or buffer
|
||||
* @param {NonNegativeInteger} [byteOffset=0] - byte offset
|
||||
* @param {NonNegativeInteger} [length] - view length
|
||||
* @throws {RangeError} ArrayBuffer byte length must be a multiple of `16`
|
||||
* @throws {RangeError} array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws {TypeError} if provided only a single argument, must provide a valid argument
|
||||
* @throws {TypeError} byte offset must be a nonnegative integer
|
||||
* @throws {RangeError} byte offset must be a multiple of `16`
|
||||
* @throws {TypeError} view length must be a positive multiple of `16`
|
||||
* @throws {RangeError} must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws {TypeError} an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns {Complex128Array} complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array();
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex128Array( buf );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex128Array( buf, 16 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 64 );
|
||||
* var arr = new Complex128Array( buf, 16, 2 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
function Complex128Array() {
|
||||
var byteOffset;
|
||||
var nargs;
|
||||
var buf;
|
||||
var len;
|
||||
|
||||
nargs = arguments.length;
|
||||
if ( !(this instanceof Complex128Array) ) {
|
||||
if ( nargs === 0 ) {
|
||||
return new Complex128Array();
|
||||
}
|
||||
if ( nargs === 1 ) {
|
||||
return new Complex128Array( arguments[0] );
|
||||
}
|
||||
if ( nargs === 2 ) {
|
||||
return new Complex128Array( arguments[0], arguments[1] );
|
||||
}
|
||||
return new Complex128Array( arguments[0], arguments[1], arguments[2] );
|
||||
}
|
||||
// Create the underlying data buffer...
|
||||
if ( nargs === 0 ) {
|
||||
buf = new Float64Array( 0 ); // backward-compatibility
|
||||
} else if ( nargs === 1 ) {
|
||||
if ( isNonNegativeInteger( arguments[0] ) ) {
|
||||
buf = new Float64Array( arguments[0]*2 );
|
||||
} else if ( isCollection( arguments[0] ) ) {
|
||||
buf = arguments[ 0 ];
|
||||
len = buf.length;
|
||||
|
||||
// If provided a "generic" array, peak at the first value, and, if the value is a complex number, try to process as an array of complex numbers, falling back to "normal" typed array initialization if we fail and ensuring consistency if the first value had not been a complex number...
|
||||
if ( len && isArray( buf ) && isComplexLike( buf[0] ) ) {
|
||||
buf = fromArray( new Float64Array( len*2 ), buf );
|
||||
if ( buf === null ) {
|
||||
// We failed and we are now forced to allocate a new array :-(
|
||||
if ( !isEven( len ) ) {
|
||||
throw new RangeError( 'invalid argument. Array-like object input arguments must have a length which is a multiple of two. Length: `'+len+'`.' );
|
||||
}
|
||||
// We failed, so fall back to directly setting values...
|
||||
buf = new Float64Array( arguments[0] );
|
||||
}
|
||||
} else {
|
||||
if ( !isEven( len ) ) {
|
||||
throw new RangeError( 'invalid argument. Array-like object and typed array input arguments must have a length which is a multiple of two. Length: `'+len+'`.' );
|
||||
}
|
||||
buf = new Float64Array( buf );
|
||||
}
|
||||
} else if ( isArrayBuffer( arguments[0] ) ) {
|
||||
buf = arguments[ 0 ];
|
||||
if ( !isInteger( buf.byteLength/BYTES_PER_ELEMENT ) ) {
|
||||
throw new RangeError( 'invalid argument. ArrayBuffer byte length must be a multiple of '+BYTES_PER_ELEMENT+'. Byte length: `'+buf.byteLength+'`.' );
|
||||
}
|
||||
buf = new Float64Array( buf );
|
||||
} else if ( isObject( arguments[0] ) ) {
|
||||
buf = arguments[ 0 ];
|
||||
if ( HAS_ITERATOR_SYMBOL === false ) {
|
||||
throw new TypeError( 'invalid argument. Environment lacks Symbol.iterator support. Must provide a length, ArrayBuffer, typed array, or array-like object. Value: `'+buf+'`.' );
|
||||
}
|
||||
if ( !isFunction( buf[ ITERATOR_SYMBOL ] ) ) {
|
||||
throw new TypeError( 'invalid argument. Must provide a length, ArrayBuffer, typed array, array-like object, or an iterable. Value: `'+buf+'`.' );
|
||||
}
|
||||
buf = buf[ ITERATOR_SYMBOL ]();
|
||||
if ( !isFunction( buf.next ) ) {
|
||||
throw new TypeError( 'invalid argument. Must provide a length, ArrayBuffer, typed array, array-like object, or an iterable.' );
|
||||
}
|
||||
buf = fromIterator( buf );
|
||||
if ( buf instanceof Error ) {
|
||||
throw buf;
|
||||
}
|
||||
buf = new Float64Array( buf );
|
||||
} else {
|
||||
throw new TypeError( 'invalid argument. Must provide a length, ArrayBuffer, typed array, array-like object, or an iterable. Value: `'+arguments[0]+'`.' );
|
||||
}
|
||||
} else {
|
||||
buf = arguments[ 0 ];
|
||||
if ( !isArrayBuffer( buf ) ) {
|
||||
throw new TypeError( 'invalid argument. First argument must be an array buffer. Value: `'+buf+'`.' );
|
||||
}
|
||||
byteOffset = arguments[ 1 ];
|
||||
if ( !isNonNegativeInteger( byteOffset ) ) {
|
||||
throw new TypeError( 'invalid argument. Byte offset must be a nonnegative integer. Value: `'+byteOffset+'`.' );
|
||||
}
|
||||
if ( !isInteger( byteOffset/BYTES_PER_ELEMENT ) ) {
|
||||
throw new RangeError( 'invalid argument. Byte offset must be a multiple of '+BYTES_PER_ELEMENT+'. Value: `'+byteOffset+'`.' );
|
||||
}
|
||||
if ( nargs === 2 ) {
|
||||
len = buf.byteLength - byteOffset;
|
||||
if ( !isInteger( len/BYTES_PER_ELEMENT ) ) {
|
||||
throw new RangeError( 'invalid arguments. ArrayBuffer view byte length must be a multiple of '+BYTES_PER_ELEMENT+'. View byte length: `'+len+'`.' );
|
||||
}
|
||||
buf = new Float64Array( buf, byteOffset );
|
||||
} else {
|
||||
len = arguments[ 2 ];
|
||||
if ( !isNonNegativeInteger( len ) ) {
|
||||
throw new TypeError( 'invalid argument. Length must be a nonnegative integer. Value: `'+len+'`.' );
|
||||
}
|
||||
if ( (len*BYTES_PER_ELEMENT) > (buf.byteLength-byteOffset) ) {
|
||||
throw new RangeError( 'invalid arguments. ArrayBuffer has insufficient capacity. Either decrease the array length or provide a bigger buffer. Minimum capacity: `'+(len*BYTES_PER_ELEMENT)+'`.' );
|
||||
}
|
||||
buf = new Float64Array( buf, byteOffset, len*2 );
|
||||
}
|
||||
}
|
||||
defineProperty( this, '_buffer', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': buf
|
||||
});
|
||||
defineProperty( this, '_length', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': buf.length / 2
|
||||
});
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Size (in bytes) of each array element.
|
||||
*
|
||||
* @name BYTES_PER_ELEMENT
|
||||
* @memberof Complex128Array
|
||||
* @type {PositiveInteger}
|
||||
* @default 16
|
||||
*
|
||||
* @example
|
||||
* var nbytes = Complex128Array.BYTES_PER_ELEMENT;
|
||||
* // returns 16
|
||||
*/
|
||||
defineProperty( Complex128Array, 'BYTES_PER_ELEMENT', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': BYTES_PER_ELEMENT
|
||||
});
|
||||
|
||||
/**
|
||||
* Constructor name.
|
||||
*
|
||||
* @name name
|
||||
* @memberof Complex128Array
|
||||
* @type {string}
|
||||
* @default 'Complex128Array'
|
||||
*
|
||||
* @example
|
||||
* var name = Complex128Array.name;
|
||||
* // returns 'Complex128Array'
|
||||
*/
|
||||
defineProperty( Complex128Array, 'name', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': 'Complex128Array'
|
||||
});
|
||||
|
||||
/**
|
||||
* Creates a new 128-bit complex number array from an array-like object or an iterable.
|
||||
*
|
||||
* @name from
|
||||
* @memberof Complex128Array
|
||||
* @type {Function}
|
||||
* @param {(ArrayLikeObject|Object)} src - array-like object or iterable
|
||||
* @param {Function} [clbk] - callback to invoke for each source element
|
||||
* @param {*} [thisArg] - context
|
||||
* @throws {TypeError} `this` context must be a constructor
|
||||
* @throws {TypeError} `this` must be a complex number array
|
||||
* @throws {TypeError} first argument must be an array-like object or an iterable
|
||||
* @throws {TypeError} second argument must be a function
|
||||
* @throws {RangeError} array-like objects must have a length which is a multiple of two
|
||||
* @throws {TypeError} an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @throws {TypeError} when provided an iterator, a callback must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns {Complex128Array} 128-bit complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = Complex128Array.from( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var Complex128 = require( '@stdlib/complex/float64' );
|
||||
*
|
||||
* var arr = Complex128Array.from( [ new Complex128( 1.0, 1.0 ) ] );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var Complex128 = require( '@stdlib/complex/float64' );
|
||||
* var real = require( '@stdlib/complex/real' );
|
||||
* var imag = require( '@stdlib/complex/imag' );
|
||||
*
|
||||
* function clbk( v ) {
|
||||
* return new Complex128( real(v)*2.0, imag(v)*2.0 );
|
||||
* }
|
||||
*
|
||||
* var arr = Complex128Array.from( [ new Complex128( 1.0, 1.0 ) ], clbk );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*/
|
||||
defineProperty( Complex128Array, 'from', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': function from( src ) {
|
||||
var thisArg;
|
||||
var nargs;
|
||||
var clbk;
|
||||
var out;
|
||||
var buf;
|
||||
var tmp;
|
||||
var len;
|
||||
var flg;
|
||||
var v;
|
||||
var i;
|
||||
var j;
|
||||
if ( !isFunction( this ) ) {
|
||||
throw new TypeError( 'invalid invocation. `this` context must be a constructor.' );
|
||||
}
|
||||
if ( !isComplexArrayConstructor( this ) ) {
|
||||
throw new TypeError( 'invalid invocation. `this` is not a complex number array.' );
|
||||
}
|
||||
nargs = arguments.length;
|
||||
if ( nargs > 1 ) {
|
||||
clbk = arguments[ 1 ];
|
||||
if ( !isFunction( clbk ) ) {
|
||||
throw new TypeError( 'invalid argument. Second argument must be a function. Value: `'+clbk+'`.' );
|
||||
}
|
||||
if ( nargs > 2 ) {
|
||||
thisArg = arguments[ 2 ];
|
||||
}
|
||||
}
|
||||
if ( isCollection( src ) ) {
|
||||
if ( clbk ) {
|
||||
// Note: array contents affect how we iterate over a provided data source. If only complex numbers, we can extract real and imaginary components. Otherwise, we assume a strided array where real and imaginary components are interleaved. In the former case, we expect a callback to return real and imaginary components (possibly as a complex number). In the latter case, we expect a callback to return *either* a real or imaginary component.
|
||||
|
||||
// Detect whether we've been provided an array of complex numbers...
|
||||
len = src.length;
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
if ( !isComplexLike( src[ i ] ) ) {
|
||||
flg = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// If an array does not contain only complex numbers, then we assume interleaved real and imaginary components...
|
||||
if ( flg ) {
|
||||
if ( !isEven( len ) ) {
|
||||
throw new RangeError( 'invalid argument. First argument must have a length which is a multiple of two. Length: `'+len+'`.' );
|
||||
}
|
||||
out = new this( len/2 );
|
||||
buf = out._buffer; // eslint-disable-line no-underscore-dangle
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
buf[ i ] = clbk.call( thisArg, src[ i ], i );
|
||||
}
|
||||
}
|
||||
// If an array contains only complex numbers, then we need to extract real and imaginary components...
|
||||
else {
|
||||
out = new this( len );
|
||||
buf = out._buffer; // eslint-disable-line no-underscore-dangle
|
||||
j = 0;
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
v = clbk.call( thisArg, src[ i ], i );
|
||||
if ( isComplexLike( v ) ) {
|
||||
buf[ j ] = real( v );
|
||||
buf[ j+1 ] = imag( v );
|
||||
} else if ( isArrayLikeObject( v ) ) {
|
||||
buf[ j ] = v[ 0 ];
|
||||
buf[ j+1 ] = v[ 1 ];
|
||||
} else {
|
||||
throw new TypeError( 'invalid argument. Callback must return either a two-element array containing real and imaginary components or a complex number. Value: `'+v+'`.' );
|
||||
}
|
||||
j += 2; // stride
|
||||
}
|
||||
}
|
||||
} else {
|
||||
out = new this( src );
|
||||
}
|
||||
} else if ( isObject( src ) && HAS_ITERATOR_SYMBOL && isFunction( src[ ITERATOR_SYMBOL ] ) ) { // eslint-disable-line max-len
|
||||
buf = src[ ITERATOR_SYMBOL ]();
|
||||
if ( !isFunction( buf.next ) ) {
|
||||
throw new TypeError( 'invalid argument. First argument must be an array-like object or an iterable.' );
|
||||
}
|
||||
if ( clbk ) {
|
||||
tmp = fromIteratorMap( buf, clbk, thisArg );
|
||||
} else {
|
||||
tmp = fromIterator( buf );
|
||||
}
|
||||
if ( tmp instanceof Error ) {
|
||||
throw tmp;
|
||||
}
|
||||
len = tmp.length / 2;
|
||||
out = new this( len );
|
||||
buf = out._buffer; // eslint-disable-line no-underscore-dangle
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
buf[ i ] = tmp[ i ];
|
||||
}
|
||||
} else {
|
||||
throw new TypeError( 'invalid argument. First argument must be an array-like object or an iterable. Value: `'+src+'`.' );
|
||||
}
|
||||
return out;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Creates a new 128-bit complex number array from a variable number of arguments.
|
||||
*
|
||||
* @name of
|
||||
* @memberof Complex128Array
|
||||
* @type {Function}
|
||||
* @param {...*} element - array elements
|
||||
* @throws {TypeError} `this` context must be a constructor
|
||||
* @throws {TypeError} `this` must be a complex number array
|
||||
* @returns {Complex128Array} 128-bit complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = Complex128Array.of( 1.0, 1.0, 1.0, 1.0 );
|
||||
* // returns <Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
defineProperty( Complex128Array, 'of', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': function of() {
|
||||
var args;
|
||||
var i;
|
||||
if ( !isFunction( this ) ) {
|
||||
throw new TypeError( 'invalid invocation. `this` context must be a constructor.' );
|
||||
}
|
||||
if ( !isComplexArrayConstructor( this ) ) {
|
||||
throw new TypeError( 'invalid invocation. `this` is not a complex number array.' );
|
||||
}
|
||||
args = [];
|
||||
for ( i = 0; i < arguments.length; i++ ) {
|
||||
args.push( arguments[ i ] );
|
||||
}
|
||||
return new this( args );
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Pointer to the underlying data buffer.
|
||||
*
|
||||
* @name buffer
|
||||
* @memberof Complex128Array.prototype
|
||||
* @type {ArrayBuffer}
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var buf = arr.buffer;
|
||||
* // returns <ArrayBuffer>
|
||||
*/
|
||||
defineProperty( Complex128Array.prototype, 'buffer', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'get': function get() {
|
||||
return this._buffer.buffer;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Size (in bytes) of the array.
|
||||
*
|
||||
* @name byteLength
|
||||
* @memberof Complex128Array.prototype
|
||||
* @type {NonNegativeInteger}
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var byteLength = arr.byteLength;
|
||||
* // returns 160
|
||||
*/
|
||||
defineProperty( Complex128Array.prototype, 'byteLength', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'get': function get() {
|
||||
return this._buffer.byteLength;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Offset (in bytes) of the array from the start of its underlying `ArrayBuffer`.
|
||||
*
|
||||
* @name byteOffset
|
||||
* @memberof Complex128Array.prototype
|
||||
* @type {NonNegativeInteger}
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var byteOffset = arr.byteOffset;
|
||||
* // returns 0
|
||||
*/
|
||||
defineProperty( Complex128Array.prototype, 'byteOffset', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'get': function get() {
|
||||
return this._buffer.byteOffset;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Size (in bytes) of each array element.
|
||||
*
|
||||
* @name BYTES_PER_ELEMENT
|
||||
* @memberof Complex128Array.prototype
|
||||
* @type {PositiveInteger}
|
||||
* @default 16
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var nbytes = arr.BYTES_PER_ELEMENT;
|
||||
* // returns 16
|
||||
*/
|
||||
defineProperty( Complex128Array.prototype, 'BYTES_PER_ELEMENT', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': Complex128Array.BYTES_PER_ELEMENT
|
||||
});
|
||||
|
||||
/**
|
||||
* Returns an array element.
|
||||
*
|
||||
* @name get
|
||||
* @memberof Complex128Array.prototype
|
||||
* @type {Function}
|
||||
* @param {ArrayLikeObject} [out] - output array
|
||||
* @param {NonNegativeInteger} i - element index
|
||||
* @throws {TypeError} `this` must be a complex number array
|
||||
* @throws {TypeError} index argument must be a nonnegative integer
|
||||
* @throws {TypeError} output argument must be an array-like object
|
||||
* @returns {(Complex128|ArrayLikeObject|void)} array element
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var z = arr.get( 0 );
|
||||
* // returns <Complex128>
|
||||
*
|
||||
* arr.set( [ 1.0, -1.0 ], 0 );
|
||||
*
|
||||
* z = arr.get( [ 0.0, 0.0 ], 0 );
|
||||
* // returns [ 1.0, -1.0 ]
|
||||
*
|
||||
* z = arr.get( 100 );
|
||||
* // returns undefined
|
||||
*/
|
||||
defineProperty( Complex128Array.prototype, 'get', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': function get( i ) {
|
||||
var idx;
|
||||
var out;
|
||||
var buf;
|
||||
|
||||
if ( !isComplexArray( this ) ) {
|
||||
throw new TypeError( 'invalid invocation. `this` is not a complex number array.' );
|
||||
}
|
||||
buf = this._buffer;
|
||||
if ( arguments.length > 1 ) {
|
||||
idx = arguments[ 1 ];
|
||||
out = i;
|
||||
if ( !isArrayLikeObject( out ) || out.length < 2 ) {
|
||||
throw new TypeError( 'invalid argument. Output argument must be an array-like object. Value: `'+out+'`.' );
|
||||
}
|
||||
} else {
|
||||
idx = i;
|
||||
}
|
||||
if ( !isNonNegativeInteger( idx ) ) {
|
||||
throw new TypeError( 'invalid argument. Index argument must be a nonnegative integer. Value: `'+idx+'`.' );
|
||||
}
|
||||
if ( idx >= this._length ) {
|
||||
return;
|
||||
}
|
||||
idx *= 2;
|
||||
if ( out ) {
|
||||
out[ 0 ] = buf[ idx ];
|
||||
out[ 1 ] = buf[ idx+1 ];
|
||||
return out;
|
||||
}
|
||||
return new Complex128( buf[ idx ], buf[ idx+1 ] );
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Number of array elements.
|
||||
*
|
||||
* @name length
|
||||
* @memberof Complex128Array.prototype
|
||||
* @type {NonNegativeInteger}
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 10
|
||||
*/
|
||||
defineProperty( Complex128Array.prototype, 'length', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'get': function get() {
|
||||
return this._length;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Sets an array element.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - When provided a typed array, real or complex, we must check whether the source array shares the same buffer as the target array and whether the underlying memory overlaps. In particular, we are concerned with the following scenario:
|
||||
*
|
||||
* ```text
|
||||
* buf: ---------------------
|
||||
* src: ---------------------
|
||||
* ```
|
||||
*
|
||||
* In the above, as we copy values from `src`, we will overwrite values in the `src` view, resulting in duplicated values copied into the end of `buf`, which is not intended. Hence, to avoid overwriting source values, we must **copy** source values to a temporary array.
|
||||
*
|
||||
* In the other overlapping scenario,
|
||||
*
|
||||
* ```text
|
||||
* buf: ---------------------
|
||||
* src: ---------------------
|
||||
* ```
|
||||
*
|
||||
* by the time we begin copying into the overlapping region, we are copying from the end of `src`, a non-overlapping region, which means we don't run the risk of copying copied values, rather than the original `src` values as intended.
|
||||
*
|
||||
*
|
||||
* @name set
|
||||
* @memberof Complex128Array.prototype
|
||||
* @type {Function}
|
||||
* @param {(Collection|Complex|ComplexArray)} value - value(s)
|
||||
* @param {NonNegativeInteger} [i=0] - element index at which to start writing values
|
||||
* @throws {TypeError} `this` must be a complex number array
|
||||
* @throws {TypeError} first argument must be either a complex number, an array-like object, or a complex number array
|
||||
* @throws {TypeError} index argument must be a nonnegative integer
|
||||
* @throws {RangeError} array-like objects must have a length which is a multiple of two
|
||||
* @throws {RangeError} index argument is out-of-bounds
|
||||
* @throws {RangeError} target array lacks sufficient storage to accommodate source values
|
||||
* @returns {void}
|
||||
*
|
||||
* @example
|
||||
* var real = require( '@stdlib/complex/real' );
|
||||
* var imag = require( '@stdlib/complex/imag' );
|
||||
*
|
||||
* var arr = new Complex128Array( 10 );
|
||||
*
|
||||
* var z = arr.get( 0 );
|
||||
* // returns <Complex128>
|
||||
*
|
||||
* var re = real( z );
|
||||
* // returns 0.0
|
||||
*
|
||||
* var im = imag( z );
|
||||
* // returns 0.0
|
||||
*
|
||||
* arr.set( [ 1.0, -1.0 ], 0 );
|
||||
*
|
||||
* z = arr.get( 0 );
|
||||
* // returns <Complex128>
|
||||
*
|
||||
* re = real( z );
|
||||
* // returns 1.0
|
||||
*
|
||||
* im = imag( z );
|
||||
* // returns -1.0
|
||||
*/
|
||||
defineProperty( Complex128Array.prototype, 'set', {
|
||||
'configurable': false,
|
||||
'enumerable': false,
|
||||
'writable': false,
|
||||
'value': function set( value ) {
|
||||
/* eslint-disable no-underscore-dangle */
|
||||
var dbuf;
|
||||
var idx;
|
||||
var buf;
|
||||
var tmp;
|
||||
var flg;
|
||||
var N;
|
||||
var v;
|
||||
var i;
|
||||
var j;
|
||||
if ( !isComplexArray( this ) ) {
|
||||
throw new TypeError( 'invalid invocation. `this` is not a complex number array.' );
|
||||
}
|
||||
buf = this._buffer;
|
||||
if ( arguments.length > 1 ) {
|
||||
idx = arguments[ 1 ];
|
||||
if ( !isNonNegativeInteger( idx ) ) {
|
||||
throw new TypeError( 'invalid argument. Index argument must be a nonnegative integer. Value: `'+idx+'`.' );
|
||||
}
|
||||
} else {
|
||||
idx = 0;
|
||||
}
|
||||
if ( isComplexLike( value ) ) {
|
||||
if ( idx >= this._length ) {
|
||||
throw new RangeError( 'invalid argument. Index argument is out-of-bounds. Value: `'+idx+'`.' );
|
||||
}
|
||||
idx *= 2;
|
||||
buf[ idx ] = real( value );
|
||||
buf[ idx+1 ] = imag( value );
|
||||
return;
|
||||
}
|
||||
if ( isComplexArray( value ) ) {
|
||||
N = value._length;
|
||||
if ( idx+N > this._length ) {
|
||||
throw new RangeError( 'invalid arguments. Target array lacks sufficient storage to accommodate source values.' );
|
||||
}
|
||||
dbuf = value._buffer;
|
||||
|
||||
// Check for overlapping memory...
|
||||
j = buf.byteOffset + (idx*BYTES_PER_ELEMENT);
|
||||
if (
|
||||
dbuf.buffer === buf.buffer &&
|
||||
(
|
||||
dbuf.byteOffset < j &&
|
||||
dbuf.byteOffset+dbuf.byteLength > j
|
||||
)
|
||||
) {
|
||||
// We need to copy source values...
|
||||
tmp = new Float64Array( dbuf.length );
|
||||
for ( i = 0; i < dbuf.length; i++ ) {
|
||||
tmp[ i ] = dbuf[ i ];
|
||||
}
|
||||
dbuf = tmp;
|
||||
}
|
||||
idx *= 2;
|
||||
j = 0;
|
||||
for ( i = 0; i < N; i++ ) {
|
||||
buf[ idx ] = dbuf[ j ];
|
||||
buf[ idx+1 ] = dbuf[ j+1 ];
|
||||
idx += 2; // stride
|
||||
j += 2; // stride
|
||||
}
|
||||
return;
|
||||
}
|
||||
if ( isCollection( value ) ) {
|
||||
// Detect whether we've been provided an array of complex numbers...
|
||||
N = value.length;
|
||||
for ( i = 0; i < N; i++ ) {
|
||||
if ( !isComplexLike( value[ i ] ) ) {
|
||||
flg = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// If an array does not contain only complex numbers, then we assume interleaved real and imaginary components...
|
||||
if ( flg ) {
|
||||
if ( !isEven( N ) ) {
|
||||
throw new RangeError( 'invalid argument. Array-like object arguments must have a length which is a multiple of two. Length: `'+N+'`.' );
|
||||
}
|
||||
if ( idx+(N/2) > this._length ) {
|
||||
throw new RangeError( 'invalid arguments. Target array lacks sufficient storage to accommodate source values.' );
|
||||
}
|
||||
dbuf = value;
|
||||
|
||||
// Check for overlapping memory...
|
||||
j = buf.byteOffset + (idx*BYTES_PER_ELEMENT);
|
||||
if (
|
||||
dbuf.buffer === buf.buffer &&
|
||||
(
|
||||
dbuf.byteOffset < j &&
|
||||
dbuf.byteOffset+dbuf.byteLength > j
|
||||
)
|
||||
) {
|
||||
// We need to copy source values...
|
||||
tmp = new Float64Array( N );
|
||||
for ( i = 0; i < N; i++ ) {
|
||||
tmp[ i ] = dbuf[ i ];
|
||||
}
|
||||
dbuf = tmp;
|
||||
}
|
||||
idx *= 2;
|
||||
N /= 2;
|
||||
j = 0;
|
||||
for ( i = 0; i < N; i++ ) {
|
||||
buf[ idx ] = dbuf[ j ];
|
||||
buf[ idx+1 ] = dbuf[ j+1 ];
|
||||
idx += 2; // stride
|
||||
j += 2; // stride
|
||||
}
|
||||
return;
|
||||
}
|
||||
// If an array contains only complex numbers, then we need to extract real and imaginary components...
|
||||
if ( idx+N > this._length ) {
|
||||
throw new RangeError( 'invalid arguments. Target array lacks sufficient storage to accommodate source values.' );
|
||||
}
|
||||
idx *= 2;
|
||||
for ( i = 0; i < N; i++ ) {
|
||||
v = value[ i ];
|
||||
buf[ idx ] = real( v );
|
||||
buf[ idx+1 ] = imag( v );
|
||||
idx += 2; // stride
|
||||
}
|
||||
return;
|
||||
}
|
||||
throw new TypeError( 'invalid argument. First argument must be either a complex number, an array-like object, or a complex number array. Value: `'+value+'`.' );
|
||||
|
||||
/* eslint-enable no-underscore-dangle */
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = Complex128Array;
|
72
js/node_modules/@stdlib/array/complex128/package.json
generated
vendored
Normal file
72
js/node_modules/@stdlib/array/complex128/package.json
generated
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"name": "@stdlib/array/complex128",
|
||||
"version": "0.0.0",
|
||||
"description": "Complex128Array.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"data",
|
||||
"structure",
|
||||
"array",
|
||||
"typed",
|
||||
"typed array",
|
||||
"typed-array",
|
||||
"complex128array",
|
||||
"complex128",
|
||||
"complex",
|
||||
"cmplx",
|
||||
"real",
|
||||
"imaginary",
|
||||
"imag",
|
||||
"double",
|
||||
"float64",
|
||||
"double-precision",
|
||||
"ieee754"
|
||||
]
|
||||
}
|
902
js/node_modules/@stdlib/array/complex64/README.md
generated
vendored
Normal file
902
js/node_modules/@stdlib/array/complex64/README.md
generated
vendored
Normal file
|
@ -0,0 +1,902 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2018 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Complex64Array
|
||||
|
||||
> 64-bit complex number array.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var Complex64Array = require( '@stdlib/array/complex64' );
|
||||
```
|
||||
|
||||
<a name="constructor"></a>
|
||||
|
||||
#### Complex64Array()
|
||||
|
||||
Creates a 64-bit complex number array.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex64Array();
|
||||
// returns <Complex64Array>
|
||||
```
|
||||
|
||||
#### Complex64Array( length )
|
||||
|
||||
Creates a 64-bit complex number array having a specified `length`.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex64Array( 10 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 10
|
||||
```
|
||||
|
||||
#### Complex64Array( typedarray )
|
||||
|
||||
Creates a 64-bit complex number array from a [typed array][@stdlib/array/typed] containing interleaves real and imaginary components.
|
||||
|
||||
```javascript
|
||||
var Float32Array = require( '@stdlib/array/float32' );
|
||||
|
||||
var buf = new Float32Array( [ 1.0, -1.0, 2.0, -2.0 ] ); // [ re, im, re, im ]
|
||||
// returns <Float32Array>[ 1.0, -1.0, 2.0, -2.0 ]
|
||||
|
||||
var arr = new Complex64Array( buf );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 2
|
||||
```
|
||||
|
||||
#### Complex64Array( obj )
|
||||
|
||||
Creates a 64-bit complex number array from an array-like `object` or iterable.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
// From an array of interleaved real and imaginary components:
|
||||
var arr1 = new Complex64Array( [ 1.0, -1.0, 2.0, -2.0 ] );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr1.length;
|
||||
// returns 2
|
||||
|
||||
// From an array containing complex numbers:
|
||||
var buf = [ new Complex64( 1.0, -1.0 ), new Complex64( 2.0, -2.0 ) ];
|
||||
var arr2 = new Complex64Array( buf );
|
||||
|
||||
len = arr2.length;
|
||||
// returns 2
|
||||
```
|
||||
|
||||
#### Complex64Array( buffer\[, byteOffset\[, length]] )
|
||||
|
||||
Returns a 64-bit complex number array view of an [`ArrayBuffer`][@stdlib/array/buffer].
|
||||
|
||||
```javascript
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
var buf = new ArrayBuffer( 240 );
|
||||
|
||||
var arr1 = new Complex64Array( buf );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr1.length;
|
||||
// returns 30
|
||||
|
||||
var arr2 = new Complex64Array( buf, 8 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
len = arr2.length;
|
||||
// returns 29
|
||||
|
||||
var arr3 = new Complex64Array( buf, 8, 20 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
len = arr3.length;
|
||||
// returns 20
|
||||
```
|
||||
|
||||
* * *
|
||||
|
||||
### Properties
|
||||
|
||||
<a name="static-prop-bytes-per-element"></a>
|
||||
|
||||
#### Complex64Array.BYTES_PER_ELEMENT
|
||||
|
||||
Static property returning the size (in bytes) of each array element.
|
||||
|
||||
```javascript
|
||||
var nbytes = Complex64Array.BYTES_PER_ELEMENT;
|
||||
// returns 8
|
||||
```
|
||||
|
||||
<a name="static-prop-name"></a>
|
||||
|
||||
#### Complex64Array.name
|
||||
|
||||
Static property returning the constructor name.
|
||||
|
||||
```javascript
|
||||
var str = Complex64Array.name;
|
||||
// returns 'Complex64Array'
|
||||
```
|
||||
|
||||
<a name="prop-buffer"></a>
|
||||
|
||||
#### Complex64Array.prototype.buffer
|
||||
|
||||
Pointer to the underlying data buffer.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex64Array( 2 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var buf = arr.buffer;
|
||||
// returns <ArrayBuffer>
|
||||
```
|
||||
|
||||
<a name="prop-byte-length"></a>
|
||||
|
||||
#### Complex64Array.prototype.byteLength
|
||||
|
||||
Size (in bytes) of the array.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex64Array( 10 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var nbytes = arr.byteLength;
|
||||
// returns 80
|
||||
```
|
||||
|
||||
<a name="prop-byte-offset"></a>
|
||||
|
||||
#### Complex64Array.prototype.byteOffset
|
||||
|
||||
Offset (in bytes) of the array from the start of its underlying `ArrayBuffer`.
|
||||
|
||||
```javascript
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
|
||||
var arr = new Complex64Array( 10 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var offset = arr.byteOffset;
|
||||
// returns 0
|
||||
|
||||
var buf = new ArrayBuffer( 240 );
|
||||
arr = new Complex64Array( buf, 64 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
offset = arr.byteOffset;
|
||||
// returns 64
|
||||
```
|
||||
|
||||
<a name="prop-bytes-per-element"></a>
|
||||
|
||||
#### Complex64Array.prototype.BYTES_PER_ELEMENT
|
||||
|
||||
Size (in bytes) of each array element.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex64Array( 10 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var nbytes = arr.BYTES_PER_ELEMENT;
|
||||
// returns 8
|
||||
```
|
||||
|
||||
<a name="prop-length"></a>
|
||||
|
||||
#### Complex64Array.prototype.length
|
||||
|
||||
Number of array elements.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex64Array( 10 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 10
|
||||
```
|
||||
|
||||
* * *
|
||||
|
||||
### Methods
|
||||
|
||||
<a name="static-method-from"></a>
|
||||
|
||||
#### Complex64Array.from( src\[, clbk\[, thisArg]] )
|
||||
|
||||
Creates a new 64-bit complex number array from an array-like `object` or an iterable.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
// Create an array from interleaved real and imaginary components:
|
||||
var arr = Complex64Array.from( [ 1.0, -1.0 ] );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 1
|
||||
|
||||
// Create an array from an array of complex numbers:
|
||||
arr = Complex64Array.from( [ new Complex64( 1.0, -1.0 ) ] );
|
||||
// returns <Complex64Array>
|
||||
|
||||
len = arr.length;
|
||||
// returns 1
|
||||
```
|
||||
|
||||
The iterator returned by an iterable must return either a complex number or an array-like `object` containing a real and imaginary component.
|
||||
|
||||
```javascript
|
||||
var ITERATOR_SYMBOL = require( '@stdlib/symbol/iterator' );
|
||||
var Float32Array = require( '@stdlib/array/float32' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
var iter;
|
||||
var arr;
|
||||
var len;
|
||||
var re;
|
||||
var im;
|
||||
var z;
|
||||
|
||||
// Define a function which returns an iterator protocol-compliant object...
|
||||
function iterable() {
|
||||
var buf = new Float32Array( 2 );
|
||||
var i = 0;
|
||||
return {
|
||||
'next': next
|
||||
};
|
||||
|
||||
function next() {
|
||||
i += 1;
|
||||
if ( i < 3 ) {
|
||||
// Reuse allocated memory...
|
||||
buf[ 0 ] = i;
|
||||
buf[ 1 ] = -i;
|
||||
return {
|
||||
'value': buf
|
||||
};
|
||||
}
|
||||
return {
|
||||
'done': true
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if ( ITERATOR_SYMBOL === null ) {
|
||||
console.error( 'Environment does not support iterables.' );
|
||||
} else {
|
||||
// Create an iterable:
|
||||
iter = {};
|
||||
iter[ ITERATOR_SYMBOL ] = iterable;
|
||||
|
||||
// Generate a complex number array:
|
||||
arr = Complex64Array.from( iter );
|
||||
// returns <Complex64Array>
|
||||
|
||||
len = arr.length;
|
||||
// returns 2
|
||||
|
||||
z = arr.get( 0 );
|
||||
// returns <Complex64>
|
||||
|
||||
re = real( z );
|
||||
// returns 1.0
|
||||
|
||||
im = imag( z );
|
||||
// returns -1.0
|
||||
}
|
||||
```
|
||||
|
||||
To invoke a function for each `src` value, provide a callback function. If `src` is an iterable or an array-like `object` containing complex numbers, the callback must return either a complex number
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
function map( z ) {
|
||||
return new Complex64( real(z)*2.0, imag(z)*2.0 );
|
||||
}
|
||||
|
||||
// Create a source array:
|
||||
var src = [ new Complex64( 1.0, -1.0 ) ];
|
||||
|
||||
// Create a new complex number array by scaling the source array:
|
||||
var arr = Complex64Array.from( src, map );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 1
|
||||
|
||||
var z = arr.get( 0 );
|
||||
// returns <Complex64>
|
||||
|
||||
var re = real( z );
|
||||
// returns 2.0
|
||||
|
||||
var im = imag( z );
|
||||
// returns -2.0
|
||||
```
|
||||
|
||||
or an array-like `object` containing real and imaginary components
|
||||
|
||||
```javascript
|
||||
var Float32Array = require( '@stdlib/array/float32' );
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
// Return a callback which reuses allocated memory...
|
||||
function mapFcn() {
|
||||
var buf = new Float32Array( 2 );
|
||||
return map;
|
||||
|
||||
function map( z ) {
|
||||
buf[ 0 ] = real( z ) * 2.0;
|
||||
buf[ 1 ] = imag( z ) * 2.0;
|
||||
return buf;
|
||||
}
|
||||
}
|
||||
|
||||
// Create a source array:
|
||||
var src = [ new Complex64( 1.0, -1.0 ), new Complex64( 2.0, -2.0 ) ];
|
||||
|
||||
// Create a new complex number array by scaling the source array:
|
||||
var arr = Complex64Array.from( src, mapFcn() );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 2
|
||||
|
||||
var z = arr.get( 0 );
|
||||
// returns <Complex64>
|
||||
|
||||
var re = real( z );
|
||||
// returns 2.0
|
||||
|
||||
var im = imag( z );
|
||||
// returns -2.0
|
||||
|
||||
z = arr.get( 1 );
|
||||
// returns <Complex64>
|
||||
|
||||
re = real( z );
|
||||
// returns 4.0
|
||||
|
||||
im = imag( z );
|
||||
// returns -4.0
|
||||
```
|
||||
|
||||
If `src` is an array-like `object` containing interleaved real and imaginary components, the callback is invoked for each component and should return the transformed component value.
|
||||
|
||||
```javascript
|
||||
var Float32Array = require( '@stdlib/array/float32' );
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
function map( v ) {
|
||||
return v * 2.0;
|
||||
}
|
||||
|
||||
// Create a source array:
|
||||
var src = new Float32Array( [ 1.0, -1.0 ] );
|
||||
|
||||
// Create a new complex number array by scaling the source array:
|
||||
var arr = Complex64Array.from( src, map );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 1
|
||||
|
||||
var z = arr.get( 0 );
|
||||
// returns <Complex64>
|
||||
|
||||
var re = real( z );
|
||||
// returns 2.0
|
||||
|
||||
var im = imag( z );
|
||||
// returns -2.0
|
||||
```
|
||||
|
||||
A callback function is provided two arguments:
|
||||
|
||||
- `value`: source value
|
||||
- `index`: source index
|
||||
|
||||
To set the callback execution context, provide a `thisArg`.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
function map( z ) {
|
||||
this.count += 1;
|
||||
return new Complex64( real(z)*2.0, imag(z)*2.0 );
|
||||
}
|
||||
|
||||
// Create a source array:
|
||||
var src = [ new Complex64( 1.0, -1.0 ), new Complex64( 1.0, -1.0 ) ];
|
||||
|
||||
// Define an execution context:
|
||||
var ctx = {
|
||||
'count': 0
|
||||
};
|
||||
|
||||
// Create a new complex number array by scaling the source array:
|
||||
var arr = Complex64Array.from( src, map, ctx );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 2
|
||||
|
||||
var n = ctx.count;
|
||||
// returns 2
|
||||
```
|
||||
|
||||
<a name="static-method-of"></a>
|
||||
|
||||
#### Complex64Array.of( element0\[, element1\[, ...elementN]] )
|
||||
|
||||
Creates a new 64-bit complex number array from a variable number of arguments.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
var arr = Complex64Array.of( 1.0, -1.0, 2.0, -2.0 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
var len = arr.length;
|
||||
// returns 2
|
||||
|
||||
var z1 = new Complex64( 1.0, -1.0 );
|
||||
var z2 = new Complex64( 2.0, -2.0 );
|
||||
|
||||
arr = Complex64Array.of( z1, z2 );
|
||||
// returns <Complex64Array>
|
||||
|
||||
len = arr.length;
|
||||
// returns 2
|
||||
```
|
||||
|
||||
<a name="method-copy-within"></a>
|
||||
|
||||
#### Complex64Array.prototype.copyWithin( target, start\[, end] )
|
||||
|
||||
Copies a sequence of elements within the array starting at `start` and ending at `end` (non-inclusive) to the position starting at `target`.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
var arr = new Complex64Array( 4 );
|
||||
|
||||
// Set the array elements:
|
||||
arr.set( new Complex64( 1.0, -1.0 ), 0 );
|
||||
arr.set( new Complex64( 2.0, -2.0 ), 1 );
|
||||
arr.set( new Complex64( 3.0, -3.0 ), 2 );
|
||||
arr.set( new Complex64( 4.0, -4.0 ), 3 );
|
||||
|
||||
// Get the first array element:
|
||||
var z = arr.get( [ 0.0, 0.0 ], 0 );
|
||||
// returns [ 1.0, -1.0 ]
|
||||
|
||||
// Get the second array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 1 );
|
||||
// returns [ 2.0, -2.0 ]
|
||||
|
||||
// Copy the last two elements to the first two elements:
|
||||
arr.copyWithin( 0, 2 );
|
||||
|
||||
// Get the first array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 0 );
|
||||
// returns [ 3.0, -3.0 ]
|
||||
|
||||
// Get the second array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 1 );
|
||||
// returns [ 4.0, -4.0 ]
|
||||
```
|
||||
|
||||
By default, `end` equals the number of array elements (i.e., one more than the last array index). To limit the sequence length, provide an `end` argument.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
var arr = new Complex64Array( 4 );
|
||||
|
||||
// Set the array elements:
|
||||
arr.set( new Complex64( 1.0, -1.0 ), 0 );
|
||||
arr.set( new Complex64( 2.0, -2.0 ), 1 );
|
||||
arr.set( new Complex64( 3.0, -3.0 ), 2 );
|
||||
arr.set( new Complex64( 4.0, -4.0 ), 3 );
|
||||
|
||||
// Get the third array element:
|
||||
var z = arr.get( [ 0.0, 0.0 ], 2 );
|
||||
// returns [ 3.0, -3.0 ]
|
||||
|
||||
// Get the last array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 3 );
|
||||
// returns [ 4.0, -4.0 ]
|
||||
|
||||
// Copy the first two elements to the last two elements:
|
||||
arr.copyWithin( 2, 0, 2 );
|
||||
|
||||
// Get the third array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 2 );
|
||||
// returns [ 1.0, -1.0 ]
|
||||
|
||||
// Get the last array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 3 );
|
||||
// returns [ 2.0, -2.0 ]
|
||||
```
|
||||
|
||||
When a `target`, `start`, and/or `end` index is negative, the respective index is determined relative to the last array element. The following example achieves the same behavior as the previous example:
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
var arr = new Complex64Array( 4 );
|
||||
|
||||
// Set the array elements:
|
||||
arr.set( new Complex64( 1.0, -1.0 ), 0 );
|
||||
arr.set( new Complex64( 2.0, -2.0 ), 1 );
|
||||
arr.set( new Complex64( 3.0, -3.0 ), 2 );
|
||||
arr.set( new Complex64( 4.0, -4.0 ), 3 );
|
||||
|
||||
// Get the third array element:
|
||||
var z = arr.get( [ 0.0, 0.0 ], 2 );
|
||||
// returns [ 3.0, -3.0 ]
|
||||
|
||||
// Get the last array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 3 );
|
||||
// returns [ 4.0, -4.0 ]
|
||||
|
||||
// Copy the first two elements to the last two elements using negative indices:
|
||||
arr.copyWithin( -2, -4, -2 );
|
||||
|
||||
// Get the third array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 2 );
|
||||
// returns [ 1.0, -1.0 ]
|
||||
|
||||
// Get the last array element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 3 );
|
||||
// returns [ 2.0, -2.0 ]
|
||||
```
|
||||
|
||||
<a name="method-entries"></a>
|
||||
|
||||
#### Complex64Array.prototype.entries()
|
||||
|
||||
Returns an iterator for iterating over array key-value pairs.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
var arr = [
|
||||
new Complex64( 1.0, -1.0 ),
|
||||
new Complex64( 2.0, -2.0 ),
|
||||
new Complex64( 3.0, -3.0 )
|
||||
];
|
||||
arr = new Complex64Array( arr );
|
||||
|
||||
// Create an iterator:
|
||||
var it = arr.entries();
|
||||
|
||||
// Iterate over the key-value pairs...
|
||||
var v = it.next().value;
|
||||
// returns [ 0, <Complex64> ]
|
||||
|
||||
var re = real( v[ 1 ] );
|
||||
// returns 1.0
|
||||
|
||||
var im = imag( v[ 1 ] );
|
||||
// returns -1.0
|
||||
|
||||
v = it.next().value;
|
||||
// returns [ 1, <Complex64> ]
|
||||
|
||||
re = real( v[ 1 ] );
|
||||
// returns 2.0
|
||||
|
||||
im = imag( v[ 1 ] );
|
||||
// returns -2.0
|
||||
|
||||
v = it.next().value;
|
||||
// returns [ 2, <Complex64> ]
|
||||
|
||||
re = real( v[ 1 ] );
|
||||
// returns 3.0
|
||||
|
||||
im = imag( v[ 1 ] );
|
||||
// returns -3.0
|
||||
|
||||
var bool = it.next().done;
|
||||
// returns true
|
||||
```
|
||||
|
||||
<a name="method-get"></a>
|
||||
|
||||
#### Complex64Array.prototype.get( \[out,] i )
|
||||
|
||||
Returns an array element located at position (index) `i`.
|
||||
|
||||
```javascript
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
var arr = new Complex64Array( 10 );
|
||||
|
||||
// Set the first element:
|
||||
arr.set( [ 1.0, -1.0 ], 0 );
|
||||
|
||||
// Get the first element:
|
||||
var z = arr.get( 0 );
|
||||
// returns <Complex64>
|
||||
|
||||
var re = real( z );
|
||||
// returns 1.0
|
||||
|
||||
var im = imag( z );
|
||||
// returns -1.0
|
||||
```
|
||||
|
||||
By default, the method returns a [64-bit complex number][@stdlib/complex/float32]. To return real and imaginary components separately, provide an array-like `object` as the first argument.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex64Array( 10 );
|
||||
|
||||
// Set the first element:
|
||||
arr.set( [ 1.0, -1.0 ], 0 );
|
||||
|
||||
// Define an output array:
|
||||
var out = [ 0.0, 0.0 ];
|
||||
|
||||
// Get the first element:
|
||||
var z = arr.get( out, 0 );
|
||||
// returns [ 1.0, -1.0 ]
|
||||
|
||||
var bool = ( out === z );
|
||||
// returns true
|
||||
```
|
||||
|
||||
If provided an out-of-bounds index, the method returns `undefined`.
|
||||
|
||||
```javascript
|
||||
var arr = new Complex64Array( 10 );
|
||||
|
||||
var z = arr.get( 100 );
|
||||
// returns undefined
|
||||
|
||||
var out = [ 0.0, 0.0 ];
|
||||
|
||||
z = arr.get( out, 100 );
|
||||
// returns undefined
|
||||
|
||||
var bool = ( out === z );
|
||||
// returns false
|
||||
```
|
||||
|
||||
<a name="method-set"></a>
|
||||
|
||||
#### Complex64Array.prototype.set( z\[, i] )
|
||||
|
||||
Sets one or more array elements.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
var arr = new Complex64Array( 10 );
|
||||
|
||||
// Get the first element:
|
||||
var z = arr.get( [ 0.0, 0.0 ], 0 );
|
||||
// returns [ 0.0, 0.0 ]
|
||||
|
||||
// Set the first element:
|
||||
arr.set( new Complex64( 1.0, -1.0 ) );
|
||||
|
||||
// Get the first element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 0 );
|
||||
// returns [ 1.0, -1.0 ]
|
||||
```
|
||||
|
||||
By default, the method sets array elements starting at position (index) `i = 0`. To set elements starting elsewhere in the array, provide an index argument `i`.
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
var arr = new Complex64Array( 10 );
|
||||
|
||||
// Get the fifth element:
|
||||
var z = arr.get( [ 0.0, 0.0 ], 4 );
|
||||
// returns [ 0.0, 0.0 ]
|
||||
|
||||
// Set the fifth element:
|
||||
arr.set( new Complex64( 1.0, -1.0 ), 4 );
|
||||
|
||||
// Get the fifth element:
|
||||
z = arr.get( [ 0.0, 0.0 ], 4 );
|
||||
// returns [ 1.0, -1.0 ]
|
||||
```
|
||||
|
||||
In addition to providing a complex number, to set one or more array elements, provide an array-like `object` containing either complex numbers
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
var arr = new Complex64Array( 10 );
|
||||
|
||||
// Define an array of complex numbers:
|
||||
var buf = [
|
||||
new Complex64( 1.0, -1.0 ),
|
||||
new Complex64( 2.0, -2.0 ),
|
||||
new Complex64( 3.0, -3.0 )
|
||||
];
|
||||
|
||||
// Set the fifth, sixth, and seventh elements:
|
||||
arr.set( buf, 4 );
|
||||
|
||||
// Get the sixth element:
|
||||
var z = arr.get( [ 0.0, 0.0 ], 5 );
|
||||
// returns [ 2.0, -2.0 ]
|
||||
```
|
||||
|
||||
or interleaved real and imaginary components
|
||||
|
||||
```javascript
|
||||
var Float32Array = require( '@stdlib/array/float32' );
|
||||
|
||||
var arr = new Complex64Array( 10 );
|
||||
|
||||
// Define an interleaved array of real and imaginary components:
|
||||
var buf = new Float32Array( [ 1.0, -1.0, 2.0, -2.0, 3.0, -3.0 ] );
|
||||
|
||||
// Set the fifth, sixth, and seventh elements:
|
||||
arr.set( buf, 4 );
|
||||
|
||||
// Get the sixth element:
|
||||
var z = arr.get( [ 0.0, 0.0 ], 5 );
|
||||
// returns [ 2.0, -2.0 ]
|
||||
```
|
||||
|
||||
A few notes:
|
||||
|
||||
- If `i` is out-of-bounds, the method throws an error.
|
||||
- If a target array cannot accommodate all values (i.e., the length of source array plus `i` exceeds the target array length), the method throws an error.
|
||||
- If provided a [typed array][@stdlib/array/typed] which shares an [`ArrayBuffer`][@stdlib/array/buffer] with the target array, the method will intelligently copy the source range to the destination range.
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
* * *
|
||||
|
||||
## Notes
|
||||
|
||||
- While a `Complex64Array` _strives_ to maintain (but does not **guarantee**) consistency with [typed arrays][@stdlib/array/typed], significant deviations from ECMAScript-defined [typed array][@stdlib/array/typed] behavior are as follows:
|
||||
|
||||
- The constructor does **not** require the `new` operator.
|
||||
- The constructor and associated methods support a broader variety of input argument types in order to better accommodate complex number input.
|
||||
- Accessing array elements using bracket syntax (e.g., `Z[i]`) is **not** supported. Instead, one **must** use the `.get()` method which returns a value compatible with complex number output.
|
||||
- The `set` method has extended behavior in order to support complex numbers.
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
* * *
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var Complex64 = require( '@stdlib/complex/float32' );
|
||||
var Float32Array = require( '@stdlib/array/float32' );
|
||||
var Complex64Array = require( '@stdlib/array/complex64' );
|
||||
|
||||
var arr;
|
||||
var out;
|
||||
|
||||
// Create a complex array by specifying a length:
|
||||
out = new Complex64Array( 3 );
|
||||
console.log( out );
|
||||
|
||||
// Create a complex array from an array of complex numbers:
|
||||
arr = [
|
||||
new Complex64( 1.0, -1.0 ),
|
||||
new Complex64( -3.14, 3.14 ),
|
||||
new Complex64( 0.5, 0.5 )
|
||||
];
|
||||
out = new Complex64Array( arr );
|
||||
console.log( out );
|
||||
|
||||
// Create a complex array from an interleaved typed array:
|
||||
arr = new Float32Array( [ 1.0, -1.0, -3.14, 3.14, 0.5, 0.5 ] );
|
||||
out = new Complex64Array( arr );
|
||||
console.log( out );
|
||||
|
||||
// Create a complex array from an array buffer:
|
||||
arr = new Float32Array( [ 1.0, -1.0, -3.14, 3.14, 0.5, 0.5 ] );
|
||||
out = new Complex64Array( arr.buffer );
|
||||
console.log( out );
|
||||
|
||||
// Create a complex array from an array buffer view:
|
||||
arr = new Float32Array( [ 1.0, -1.0, -3.14, 3.14, 0.5, 0.5 ] );
|
||||
out = new Complex64Array( arr.buffer, 8, 2 );
|
||||
console.log( out );
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
[@stdlib/array/typed]: https://www.npmjs.com/package/@stdlib/array/tree/main/typed
|
||||
|
||||
[@stdlib/array/buffer]: https://www.npmjs.com/package/@stdlib/array/tree/main/buffer
|
||||
|
||||
[@stdlib/complex/float32]: https://www.npmjs.com/package/@stdlib/complex-float32
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
610
js/node_modules/@stdlib/array/complex64/docs/types/index.d.ts
generated
vendored
Normal file
610
js/node_modules/@stdlib/array/complex64/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,610 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/// <reference types="@stdlib/types"/>
|
||||
|
||||
import { Iterator as Iter, IterableIterator } from '@stdlib/types/iter';
|
||||
import { ArrayLike, TypedArray } from '@stdlib/types/array';
|
||||
import { ComplexLike } from '@stdlib/types/object';
|
||||
import ArrayBuffer = require( './../../../buffer' );
|
||||
import Complex64 = require( '@stdlib/complex/float32' );
|
||||
|
||||
// Define a union type representing both iterable and non-iterable iterators:
|
||||
type Iterator = Iter | IterableIterator;
|
||||
|
||||
/**
|
||||
* Class for creating a 64-bit complex number array.
|
||||
*/
|
||||
declare class Complex64Array {
|
||||
/**
|
||||
* 64-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array();
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf, 8 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex64Array( buf, 8, 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
constructor( arg?: number | TypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ); // tslint:disable-line:max-line-length
|
||||
|
||||
/**
|
||||
* Length (in bytes) of the array.
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 10 );
|
||||
*
|
||||
* var byteLength = arr.byteLength;
|
||||
* // returns 80
|
||||
*/
|
||||
readonly byteLength: number;
|
||||
|
||||
/**
|
||||
* Offset (in bytes) of the array from the start of its underlying `ArrayBuffer`.
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 10 );
|
||||
*
|
||||
* var byteOffset = arr.byteOffset;
|
||||
* // returns 0
|
||||
*/
|
||||
readonly byteOffset: number;
|
||||
|
||||
/**
|
||||
* Size (in bytes) of each array element.
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 10 );
|
||||
*
|
||||
* var nbytes = arr.BYTES_PER_ELEMENT;
|
||||
* // returns 8
|
||||
*/
|
||||
readonly BYTES_PER_ELEMENT: number;
|
||||
|
||||
/**
|
||||
* Number of array elements.
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 10 );
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 10
|
||||
*/
|
||||
readonly length: number;
|
||||
|
||||
/**
|
||||
* Copies a sequence of elements within the array to the position starting at `target`.
|
||||
*
|
||||
* @param target - index at which to start copying elements
|
||||
* @param start - source index at which to copy elements from
|
||||
* @param end - source index at which to stop copying elements from
|
||||
* @returns modified array
|
||||
*
|
||||
* @example
|
||||
* var Complex64 = require( `@stdlib/complex/float32` );
|
||||
* var real = require( `@stdlib/complex/real` );
|
||||
* var imag = require( `@stdlib/complex/imag` );
|
||||
*
|
||||
* var arr = new Complex64Array( 4 );
|
||||
*
|
||||
* // Set the array elements:
|
||||
* arr.set( new Complex64( 1.0, 1.0 ), 0 );
|
||||
* arr.set( new Complex64( 2.0, 2.0 ), 1 );
|
||||
* arr.set( new Complex64( 3.0, 3.0 ), 2 );
|
||||
* arr.set( new Complex64( 4.0, 4.0 ), 3 );
|
||||
*
|
||||
* // Copy the first two elements to the last two elements:
|
||||
* arr.copyWithin( 2, 0, 2 );
|
||||
*
|
||||
* // Get the last array element:
|
||||
* var z = arr.get( 3 );
|
||||
*
|
||||
* var re = real( z );
|
||||
* // returns 2.0
|
||||
*
|
||||
* var im = imag( z );
|
||||
* // returns 2.0
|
||||
*/
|
||||
copyWithin( target: number, start: number, end?: number ): Complex64Array;
|
||||
|
||||
/**
|
||||
* Returns an iterator for iterating over array key-value pairs.
|
||||
*
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var Complex64 = require( `@stdlib/complex/float32` );
|
||||
*
|
||||
* var arr = [
|
||||
* new Complex64( 1.0, 1.0 ),
|
||||
* new Complex64( 2.0, 2.0 ),
|
||||
* new Complex64( 3.0, 3.0 )
|
||||
* ];
|
||||
* arr = new Complex64Array( arr );
|
||||
*
|
||||
* // Create an iterator:
|
||||
* var it = arr.entries();
|
||||
*
|
||||
* // Iterate over the key-value pairs...
|
||||
* var v = it.next().value;
|
||||
* // returns [ 0, <Complex64> ]
|
||||
*
|
||||
* v = it.next().value;
|
||||
* // returns [ 1, <Complex64> ]
|
||||
*
|
||||
* v = it.next().value;
|
||||
* // returns [ 2, <Complex64> ]
|
||||
*
|
||||
* var bool = it.next().done;
|
||||
* // returns true
|
||||
*/
|
||||
entries(): Iterator;
|
||||
|
||||
/**
|
||||
* Returns an array element.
|
||||
*
|
||||
* @param i - element index
|
||||
* @throws index argument must be a nonnegative integer
|
||||
* @returns array element
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 10 );
|
||||
*
|
||||
* var z = arr.get( 0 );
|
||||
* // returns <Complex64>
|
||||
*
|
||||
* arr.set( [ 1.0, -1.0 ], 0 );
|
||||
*
|
||||
* z = arr.get( 100 );
|
||||
* // returns undefined
|
||||
*/
|
||||
get( i: number ): Complex64 | void;
|
||||
|
||||
/**
|
||||
* Returns an array element.
|
||||
*
|
||||
* @param out - output array
|
||||
* @param i - element index
|
||||
* @throws index argument must be a nonnegative integer
|
||||
* @returns array element
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 10 );
|
||||
*
|
||||
* var z = arr.get( 0 );
|
||||
* // returns <Complex64>
|
||||
*
|
||||
* arr.set( [ 1.0, -1.0 ], 0 );
|
||||
*
|
||||
* z = arr.get( [ 0.0, 0.0 ], 0 );
|
||||
* // returns [ 1.0, -1.0 ]
|
||||
*/
|
||||
get( out: ArrayLike<number>, i: number ): ArrayLike<number> | void;
|
||||
|
||||
/**
|
||||
* Sets an array element.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - When provided a typed array, real or complex, we must check whether the source array shares the same buffer as the target array and whether the underlying memory overlaps. In particular, we are concerned with the following scenario:
|
||||
*
|
||||
* ```text
|
||||
* buf: ---------------------
|
||||
* src: ---------------------
|
||||
* ```
|
||||
*
|
||||
* In the above, as we copy values from `src`, we will overwrite values in the `src` view, resulting in duplicated values copied into the end of `buf`, which is not intended. Hence, to avoid overwriting source values, we must **copy** source values to a temporary array.
|
||||
*
|
||||
* In the other overlapping scenario,
|
||||
*
|
||||
* ```text
|
||||
* buf: ---------------------
|
||||
* src: ---------------------
|
||||
* ```
|
||||
*
|
||||
* by the time we begin copying into the overlapping region, we are copying from the end of `src`, a non-overlapping region, which means we don't run the risk of copying copied values, rather than the original `src` values as intended.
|
||||
*
|
||||
*
|
||||
* @param value - value(s)
|
||||
* @param i - element index at which to start writing values (default: 0)
|
||||
* @throws index argument must be a nonnegative integer
|
||||
* @throws array-like objects must have a length which is a multiple of two
|
||||
* @throws index argument is out-of-bounds
|
||||
* @throws target array lacks sufficient storage to accommodate source values
|
||||
*
|
||||
* @example
|
||||
* var real = require( `@stdlib/complex/real` );
|
||||
* var imag = require( `@stdlib/complex/imag` );
|
||||
*
|
||||
* var arr = new Complex64Array( 10 );
|
||||
*
|
||||
* var z = arr.get( 0 );
|
||||
* // returns <Complex64>
|
||||
*
|
||||
* var re = real( z );
|
||||
* // returns 0.0
|
||||
*
|
||||
* var im = imag( z );
|
||||
* // returns 0.0
|
||||
*
|
||||
* arr.set( [ 1.0, -1.0 ], 0 );
|
||||
*
|
||||
* z = arr.get( 0 );
|
||||
* // returns <Complex64>
|
||||
*
|
||||
* re = real( z );
|
||||
* // returns 1.0
|
||||
*
|
||||
* im = imag( z );
|
||||
* // returns -1.0
|
||||
*/
|
||||
set( value: ArrayLike<number | ComplexLike> | Complex64Array | ComplexLike, i?: number ): void; // tslint:disable-line:max-line-length
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface defining a 64-bit complex number array constructor which is both "newable" and "callable".
|
||||
*/
|
||||
interface Constructor {
|
||||
/**
|
||||
* 64-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array();
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf, 8 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex64Array( buf, 8, 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
new( arg?: number | TypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ): Complex64Array; // tslint-disable-line max-line-length
|
||||
|
||||
/**
|
||||
* 64-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array();
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf, 8 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex64Array( buf, 8, 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
( arg?: number | TypedArray | ArrayLike<number | ComplexLike> | ArrayBuffer | Iterable<number | ComplexLike>, byteOffset?: number, length?: number ): Complex64Array; // tslint-disable-line max-line-length
|
||||
|
||||
/**
|
||||
* Constructor name.
|
||||
*
|
||||
* @example
|
||||
* var str = Complex64Array.name;
|
||||
* // returns 'Complex64Array'
|
||||
*/
|
||||
readonly name: string;
|
||||
|
||||
/**
|
||||
* Size (in bytes) of each array element.
|
||||
*
|
||||
* @example
|
||||
* var nbytes = Complex64Array.BYTES_PER_ELEMENT;
|
||||
* // returns 8
|
||||
*/
|
||||
readonly BYTES_PER_ELEMENT: number;
|
||||
|
||||
/**
|
||||
* Creates a new 64-bit complex number array from an array-like object or an iterable.
|
||||
*
|
||||
* @param src - array-like object or iterable
|
||||
* @param clbk - callback to invoke for each source element
|
||||
* @param thisArg - context
|
||||
* @throws array-like objects must have a length which is a multiple of two
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @throws when provided an iterator, a callback must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns 64-bit complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = Complex64Array.from( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var Complex64 = require( `@stdlib/complex/float32` );
|
||||
*
|
||||
* var arr = Complex64Array.from( [ new Complex64( 1.0, 1.0 ) ] );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var Complex64 = require( `@stdlib/complex/float32` );
|
||||
* var real = require( `@stdlib/complex/real` );
|
||||
* var imag = require( `@stdlib/complex/imag` );
|
||||
*
|
||||
* function clbk( v ) {
|
||||
* return new Complex64( real(v)*2.0, imag(v)*2.0 );
|
||||
* }
|
||||
*
|
||||
* var arr = Complex64Array.from( [ new Complex64( 1.0, 1.0 ) ], clbk );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*/
|
||||
from( src: ArrayLike<number | ComplexLike> | Iterable<number | ComplexLike>, clbk?: Function, thisArg?: any ): Complex64Array; // tslint:disable-line:max-line-length
|
||||
|
||||
/**
|
||||
* Creates a new 64-bit complex number array from a variable number of arguments.
|
||||
*
|
||||
* @param element - array elements
|
||||
* @returns 64-bit complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = Complex64Array.of( 1.0, 1.0, 1.0, 1.0 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
of( ...elements: Array<number> ): Complex64Array;
|
||||
}
|
||||
|
||||
/**
|
||||
* 64-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array();
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new Complex64Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf, 8 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex64Array( buf, 8, 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
declare var ctor: Constructor;
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = ctor;
|
153
js/node_modules/@stdlib/array/complex64/docs/types/test.ts
generated
vendored
Normal file
153
js/node_modules/@stdlib/array/complex64/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,153 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// tslint:disable:no-unused-expression
|
||||
|
||||
import Complex64Array = require( './index' );
|
||||
import Complex64 = require( '@stdlib/complex/float32' );
|
||||
import ArrayBuffer = require( './../../../buffer' );
|
||||
import real = require( '@stdlib/complex/real' );
|
||||
import imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
const clbk = ( v: Complex64 ) => {
|
||||
return new Complex64( real( v ) * 2.0, imag( v ) * 2.0 );
|
||||
};
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns a complex number array...
|
||||
{
|
||||
new Complex64Array(); // $ExpectType Complex64Array
|
||||
Complex64Array(); // $ExpectType Complex64Array
|
||||
new Complex64Array( 2 ); // $ExpectType Complex64Array
|
||||
Complex64Array( 2 ); // $ExpectType Complex64Array
|
||||
new Complex64Array( [ 1.0, -1.0 ] ); // $ExpectType Complex64Array
|
||||
Complex64Array( [ 1.0, -1.0 ] ); // $ExpectType Complex64Array
|
||||
|
||||
const buf = new ArrayBuffer( 16 );
|
||||
new Complex64Array( buf ); // $ExpectType Complex64Array
|
||||
Complex64Array( buf ); // $ExpectType Complex64Array
|
||||
new Complex64Array( buf, 8 ); // $ExpectType Complex64Array
|
||||
Complex64Array( buf, 8 ); // $ExpectType Complex64Array
|
||||
new Complex64Array( buf, 8, 2 ); // $ExpectType Complex64Array
|
||||
Complex64Array( buf, 8, 2 ); // $ExpectType Complex64Array
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a first argument that is not a number, typed array, array-like object, or array buffer...
|
||||
{
|
||||
new Complex64Array( true ); // $ExpectError
|
||||
new Complex64Array( false ); // $ExpectError
|
||||
new Complex64Array( null ); // $ExpectError
|
||||
new Complex64Array( 'abc' ); // $ExpectError
|
||||
new Complex64Array( {} ); // $ExpectError
|
||||
new Complex64Array( ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
Complex64Array( true ); // $ExpectError
|
||||
Complex64Array( false ); // $ExpectError
|
||||
Complex64Array( null ); // $ExpectError
|
||||
Complex64Array( 'abc' ); // $ExpectError
|
||||
Complex64Array( {} ); // $ExpectError
|
||||
Complex64Array( ( x: number ): number => x ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a second argument that is not a number...
|
||||
{
|
||||
const buf = new ArrayBuffer( 16 );
|
||||
new Complex64Array( buf, true ); // $ExpectError
|
||||
new Complex64Array( buf, false ); // $ExpectError
|
||||
new Complex64Array( buf, null ); // $ExpectError
|
||||
new Complex64Array( buf, 'abc' ); // $ExpectError
|
||||
new Complex64Array( buf, {} ); // $ExpectError
|
||||
new Complex64Array( buf, ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
Complex64Array( buf, true ); // $ExpectError
|
||||
Complex64Array( buf, false ); // $ExpectError
|
||||
Complex64Array( buf, null ); // $ExpectError
|
||||
Complex64Array( buf, 'abc' ); // $ExpectError
|
||||
Complex64Array( buf, {} ); // $ExpectError
|
||||
Complex64Array( buf, ( x: number ): number => x ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a third argument that is not a number...
|
||||
{
|
||||
const buf = new ArrayBuffer( 16 );
|
||||
new Complex64Array( buf, 8, true ); // $ExpectError
|
||||
new Complex64Array( buf, 8, false ); // $ExpectError
|
||||
new Complex64Array( buf, 8, null ); // $ExpectError
|
||||
new Complex64Array( buf, 8, 'abc' ); // $ExpectError
|
||||
new Complex64Array( buf, 8, {} ); // $ExpectError
|
||||
new Complex64Array( buf, 8, ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
Complex64Array( buf, 8, true ); // $ExpectError
|
||||
Complex64Array( buf, 8, false ); // $ExpectError
|
||||
Complex64Array( buf, 8, null ); // $ExpectError
|
||||
Complex64Array( buf, 8, 'abc' ); // $ExpectError
|
||||
Complex64Array( buf, 8, {} ); // $ExpectError
|
||||
Complex64Array( buf, 8, ( x: number ): number => x ); // $ExpectError
|
||||
}
|
||||
|
||||
// The `from` method returns a complex number array...
|
||||
{
|
||||
Complex64Array.from( [ 1.0, 1.0 ] ); // $ExpectType Complex64Array
|
||||
Complex64Array.from( [ 1.0, 1.0 ], ( x: number ): number => x * x ); // $ExpectType Complex64Array
|
||||
Complex64Array.from( [ new Complex64( 1.0, 1.0 ) ], clbk, {} ); // $ExpectType Complex64Array
|
||||
}
|
||||
|
||||
// The compiler throws an error if the `from` method is provided a first argument which is not array-like or iterable...
|
||||
{
|
||||
Complex64Array.from( true ); // $ExpectError
|
||||
Complex64Array.from( false ); // $ExpectError
|
||||
Complex64Array.from( 123 ); // $ExpectError
|
||||
Complex64Array.from( null ); // $ExpectError
|
||||
Complex64Array.from( {} ); // $ExpectError
|
||||
|
||||
Complex64Array.from( true, clbk ); // $ExpectError
|
||||
Complex64Array.from( false, clbk ); // $ExpectError
|
||||
Complex64Array.from( 123, clbk ); // $ExpectError
|
||||
Complex64Array.from( null, clbk ); // $ExpectError
|
||||
Complex64Array.from( {}, clbk ); // $ExpectError
|
||||
|
||||
Complex64Array.from( true, clbk, {} ); // $ExpectError
|
||||
Complex64Array.from( false, clbk, {} ); // $ExpectError
|
||||
Complex64Array.from( 123, clbk, {} ); // $ExpectError
|
||||
Complex64Array.from( null, clbk, {} ); // $ExpectError
|
||||
Complex64Array.from( {}, clbk, {} ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the `from` method is provided a second argument which is not a function with a supported signature...
|
||||
{
|
||||
Complex64Array.from( [ 1, 1 ], true ); // $ExpectError
|
||||
Complex64Array.from( [ 1, 1 ], false ); // $ExpectError
|
||||
Complex64Array.from( [ 1, 1 ], 123 ); // $ExpectError
|
||||
Complex64Array.from( [ 1, 1 ], null ); // $ExpectError
|
||||
Complex64Array.from( [ 1, 1 ], {} ); // $ExpectError
|
||||
}
|
||||
|
||||
// The `of` method returns a complex number array...
|
||||
{
|
||||
Complex64Array.of( 1.0, 1.0, 1.0, 1.0 ); // $ExpectType Complex64Array
|
||||
}
|
||||
|
||||
// The compiler throws an error if the `of` method is provided arguments that are not numbers...
|
||||
{
|
||||
Complex64Array.of( 'abc', 'def' ); // $ExpectError
|
||||
Complex64Array.of( true, false ); // $ExpectError
|
||||
Complex64Array.of( {}, [] ); // $ExpectError
|
||||
Complex64Array.of( null, null ); // $ExpectError
|
||||
}
|
61
js/node_modules/@stdlib/array/complex64/lib/from_array.js
generated
vendored
Normal file
61
js/node_modules/@stdlib/array/complex64/lib/from_array.js
generated
vendored
Normal file
|
@ -0,0 +1,61 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isComplexLike = require( '@stdlib/assert/is-complex-like' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns a strided array of real and imaginary components.
|
||||
*
|
||||
* @private
|
||||
* @param {Float32Array} buf - output array
|
||||
* @param {Array} arr - array containing complex numbers
|
||||
* @returns {(Float32Array|null)} output array or null
|
||||
*/
|
||||
function fromArray( buf, arr ) {
|
||||
var len;
|
||||
var v;
|
||||
var i;
|
||||
var j;
|
||||
|
||||
len = arr.length;
|
||||
j = 0;
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
v = arr[ i ];
|
||||
if ( !isComplexLike( v ) ) {
|
||||
return null;
|
||||
}
|
||||
buf[ j ] = real( v );
|
||||
buf[ j+1 ] = imag( v );
|
||||
j += 2; // stride
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = fromArray;
|
66
js/node_modules/@stdlib/array/complex64/lib/from_iterator.js
generated
vendored
Normal file
66
js/node_modules/@stdlib/array/complex64/lib/from_iterator.js
generated
vendored
Normal file
|
@ -0,0 +1,66 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );
|
||||
var isComplexLike = require( '@stdlib/assert/is-complex-like' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns an array of iterated values.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} it - iterator
|
||||
* @returns {(Array|TypeError)} array or an error
|
||||
*/
|
||||
function fromIterator( it ) {
|
||||
var out;
|
||||
var v;
|
||||
var z;
|
||||
|
||||
out = [];
|
||||
while ( true ) {
|
||||
v = it.next();
|
||||
z = v.value;
|
||||
if ( z ) {
|
||||
if ( isArrayLikeObject( z ) && z.length >= 2 ) {
|
||||
out.push( z[ 0 ], z[ 1 ] );
|
||||
} else if ( isComplexLike( z ) ) {
|
||||
out.push( real( z ), imag( z ) );
|
||||
} else {
|
||||
return new TypeError( 'invalid argument. An iterator must return either a two-element array containing real and imaginary components or a complex number. Value: `'+z+'`.' );
|
||||
}
|
||||
}
|
||||
if ( v.done ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = fromIterator;
|
72
js/node_modules/@stdlib/array/complex64/lib/from_iterator_map.js
generated
vendored
Normal file
72
js/node_modules/@stdlib/array/complex64/lib/from_iterator_map.js
generated
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isArrayLikeObject = require( '@stdlib/assert/is-array-like-object' );
|
||||
var isComplexLike = require( '@stdlib/assert/is-complex-like' );
|
||||
var real = require( '@stdlib/complex/real' );
|
||||
var imag = require( '@stdlib/complex/imag' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns an array of iterated values.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} it - iterator
|
||||
* @param {Function} clbk - callback to invoke for each iterated value
|
||||
* @param {*} thisArg - invocation context
|
||||
* @returns {(Array|TypeError)} array or an error
|
||||
*/
|
||||
function fromIteratorMap( it, clbk, thisArg ) {
|
||||
var out;
|
||||
var v;
|
||||
var z;
|
||||
var i;
|
||||
|
||||
out = [];
|
||||
i = -1;
|
||||
while ( true ) {
|
||||
i += 1;
|
||||
v = it.next();
|
||||
z = v.value;
|
||||
if ( z ) {
|
||||
z = clbk.call( thisArg, z, i );
|
||||
if ( isArrayLikeObject( z ) && z.length >= 2 ) {
|
||||
out.push( z[ 0 ], z[ 1 ] );
|
||||
} else if ( isComplexLike( z ) ) {
|
||||
out.push( real( z ), imag( z ) );
|
||||
} else {
|
||||
return new TypeError( 'invalid argument. Callback must return either a two-element array containing real and imaginary components or a complex number. Value: `'+z+'`.' );
|
||||
}
|
||||
}
|
||||
if ( v.done ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = fromIteratorMap;
|
94
js/node_modules/@stdlib/array/complex64/lib/index.js
generated
vendored
Normal file
94
js/node_modules/@stdlib/array/complex64/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,94 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* 64-bit complex number array.
|
||||
*
|
||||
* @module @stdlib/array/complex64
|
||||
*
|
||||
* @example
|
||||
* var Complex64Array = require( '@stdlib/array/complex64' );
|
||||
*
|
||||
* var arr = new Complex64Array();
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var Complex64Array = require( '@stdlib/array/complex64' );
|
||||
*
|
||||
* var arr = new Complex64Array( 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var Complex64Array = require( '@stdlib/array/complex64' );
|
||||
*
|
||||
* var arr = new Complex64Array( [ 1.0, -1.0 ] );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var Complex64Array = require( '@stdlib/array/complex64' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var Complex64Array = require( '@stdlib/array/complex64' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new Complex64Array( buf, 8 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var Complex64Array = require( '@stdlib/array/complex64' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new Complex64Array( buf, 8, 2 );
|
||||
* // returns <Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var Complex64Array = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = Complex64Array;
|
1074
js/node_modules/@stdlib/array/complex64/lib/main.js
generated
vendored
Normal file
1074
js/node_modules/@stdlib/array/complex64/lib/main.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
72
js/node_modules/@stdlib/array/complex64/package.json
generated
vendored
Normal file
72
js/node_modules/@stdlib/array/complex64/package.json
generated
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"name": "@stdlib/array/complex64",
|
||||
"version": "0.0.0",
|
||||
"description": "Complex64Array.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"data",
|
||||
"structure",
|
||||
"array",
|
||||
"typed",
|
||||
"typed array",
|
||||
"typed-array",
|
||||
"complex64array",
|
||||
"complex64",
|
||||
"complex",
|
||||
"cmplx",
|
||||
"real",
|
||||
"imaginary",
|
||||
"imag",
|
||||
"float",
|
||||
"single-precision",
|
||||
"ieee754"
|
||||
]
|
||||
}
|
139
js/node_modules/@stdlib/array/convert-same/README.md
generated
vendored
Normal file
139
js/node_modules/@stdlib/array/convert-same/README.md
generated
vendored
Normal file
|
@ -0,0 +1,139 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2018 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Convert
|
||||
|
||||
> Convert an array to the same data type as a second input array.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var convertArraySame = require( '@stdlib/array/convert-same' );
|
||||
```
|
||||
|
||||
#### convertArraySame( x, y )
|
||||
|
||||
Converts an `array` to the same data type as a second input `array`.
|
||||
|
||||
```javascript
|
||||
var Float32Array = require( '@stdlib/array/float32' );
|
||||
|
||||
var y = new Float32Array( 0 );
|
||||
|
||||
var x = [ 1.0, 2.0, 3.0 ];
|
||||
var out = convertArraySame( x, y );
|
||||
// returns <Float32Array>[ 1.0, 2.0, 3.0 ]
|
||||
```
|
||||
|
||||
The function supports input arrays having the following data types:
|
||||
|
||||
- `float32`: single-precision floating-point numbers.
|
||||
- `float64`: double-precision floating-point numbers.
|
||||
- `generic`: values of any type.
|
||||
- `int16`: signed 16-bit integers.
|
||||
- `int32`: signed 32-bit integers.
|
||||
- `int8`: signed 8-bit integers.
|
||||
- `uint16`: unsigned 16-bit integers.
|
||||
- `uint32`: unsigned 32-bit integers.
|
||||
- `uint8`: unsigned 8-bit integers.
|
||||
- `uint8c`: unsigned clamped 8-bit integers.
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint-disable stdlib/new-cap-error -->
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var dtypes = require( '@stdlib/array/dtypes' );
|
||||
var ctors = require( '@stdlib/array/ctors' );
|
||||
var randu = require( '@stdlib/random/base/randu' );
|
||||
var floor = require( '@stdlib/math/base/special/floor' );
|
||||
var convertArraySame = require( '@stdlib/array/convert-same' );
|
||||
|
||||
// Create a generic array:
|
||||
var x = [];
|
||||
var i;
|
||||
for ( i = 0; i < 5; i++ ) {
|
||||
x.push( floor( randu()*1.0e25 ) - 5.0e24 );
|
||||
}
|
||||
|
||||
// Get a list of array data types:
|
||||
var DTYPES = dtypes();
|
||||
|
||||
// Convert the generic array to each array data type:
|
||||
var ctor;
|
||||
var out;
|
||||
var y;
|
||||
for ( i = 0; i < DTYPES.length; i++ ) {
|
||||
ctor = ctors( DTYPES[ i ] );
|
||||
y = new ctor( 0 );
|
||||
out = convertArraySame( x, y );
|
||||
console.log( out );
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
40
js/node_modules/@stdlib/array/convert-same/docs/repl.txt
generated
vendored
Normal file
40
js/node_modules/@stdlib/array/convert-same/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
|
||||
{{alias}}( x, y )
|
||||
Converts an input array to the same data type as a second input array.
|
||||
|
||||
The function supports input arrays having the following data types:
|
||||
|
||||
- float32: single-precision floating-point numbers.
|
||||
- float64: double-precision floating-point numbers.
|
||||
- generic: values of any type.
|
||||
- int16: signed 16-bit integers.
|
||||
- int32: signed 32-bit integers.
|
||||
- int8: signed 8-bit integers.
|
||||
- uint16: unsigned 16-bit integers.
|
||||
- uint32: unsigned 32-bit integers.
|
||||
- uint8: unsigned 8-bit integers.
|
||||
- uint8c: unsigned clamped 8-bit integers.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
x: Array|TypedArray
|
||||
Array to convert.
|
||||
|
||||
y: Array|TypedArray
|
||||
Array having desired output data type.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Array|TypedArray
|
||||
Output array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var x = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
> var y = new {{alias:@stdlib/array/float32}}( 0 );
|
||||
> var out = {{alias}}( x, y )
|
||||
<Float32Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
53
js/node_modules/@stdlib/array/convert-same/docs/types/index.d.ts
generated
vendored
Normal file
53
js/node_modules/@stdlib/array/convert-same/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/// <reference types="@stdlib/types"/>
|
||||
|
||||
import { TypedArray } from '@stdlib/types/array';
|
||||
import { Collection } from '@stdlib/types/object';
|
||||
|
||||
|
||||
/**
|
||||
* Array or typed array.
|
||||
*/
|
||||
type ArrayOrTypedArray = Array<any> | TypedArray;
|
||||
|
||||
/**
|
||||
* Converts an array to the same data type as a second input array.
|
||||
*
|
||||
* @param x - array to convert
|
||||
* @param y - array having the desired output data type
|
||||
* @returns output array
|
||||
*
|
||||
* @example
|
||||
* var Float64Array = require( `@stdlib/array/float64` );
|
||||
*
|
||||
* var y = new Float64Array( 0 );
|
||||
*
|
||||
* var x = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
* var out = convertSame( x, y );
|
||||
* // returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
*/
|
||||
declare function convertSame( x: Collection, y: ArrayOrTypedArray ): ArrayOrTypedArray; // tslint:disable-line:max-line-length unified-signatures
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = convertSame;
|
64
js/node_modules/@stdlib/array/convert-same/docs/types/test.ts
generated
vendored
Normal file
64
js/node_modules/@stdlib/array/convert-same/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import convertSame = require( './index' );
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns an array or typed array...
|
||||
{
|
||||
const y = new Float64Array( 0 );
|
||||
|
||||
convertSame( [ 1.0, 2.0, 3.0, 4.0 ], y ); // $ExpectType ArrayOrTypedArray
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a first argument which is not array-like...
|
||||
{
|
||||
const y = new Float64Array( 0 );
|
||||
|
||||
convertSame( 123, y ); // $ExpectError
|
||||
convertSame( true, y ); // $ExpectError
|
||||
convertSame( false, y ); // $ExpectError
|
||||
convertSame( {}, y ); // $ExpectError
|
||||
convertSame( null, y ); // $ExpectError
|
||||
convertSame( undefined, y ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a second argument which is not an array or typed array...
|
||||
{
|
||||
const x = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
|
||||
convertSame( x, 'abc' ); // $ExpectError
|
||||
convertSame( x, 123 ); // $ExpectError
|
||||
convertSame( x, true ); // $ExpectError
|
||||
convertSame( x, false ); // $ExpectError
|
||||
convertSame( x, {} ); // $ExpectError
|
||||
convertSame( x, null ); // $ExpectError
|
||||
convertSame( x, undefined ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided an unsupported number of arguments...
|
||||
{
|
||||
const x = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
const y = new Float64Array( 0 );
|
||||
|
||||
convertSame(); // $ExpectError
|
||||
convertSame( x ); // $ExpectError
|
||||
convertSame( x, y, 2 ); // $ExpectError
|
||||
}
|
44
js/node_modules/@stdlib/array/convert-same/lib/index.js
generated
vendored
Normal file
44
js/node_modules/@stdlib/array/convert-same/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Convert an array to the same data type as a second input array.
|
||||
*
|
||||
* @module @stdlib/array/convert-same
|
||||
*
|
||||
* @example
|
||||
* var convertSame = require( '@stdlib/array/convert-same' );
|
||||
* var Float64Array = require( '@stdlib/array/float64' );
|
||||
*
|
||||
* var y = new Float64Array( 0 );
|
||||
*
|
||||
* var x = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
* var out = convertSame( x, y );
|
||||
* // returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var convertSame = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = convertSame;
|
80
js/node_modules/@stdlib/array/convert-same/lib/main.js
generated
vendored
Normal file
80
js/node_modules/@stdlib/array/convert-same/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,80 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isCollection = require( '@stdlib/assert/is-collection' );
|
||||
var getType = require( './../../dtype' );
|
||||
var ctors = require( './../../ctors' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Converts an array to the same data type as a second input array.
|
||||
*
|
||||
* @param {Collection} x - array to convert
|
||||
* @param {(Array|TypedArray)} y - array having the desired output data type
|
||||
* @throws {TypeError} first argument must be an array-like object
|
||||
* @throws {TypeError} second argument must have a recognized data type
|
||||
* @returns {(Array|TypedArray)} output array
|
||||
*
|
||||
* @example
|
||||
* var Float64Array = require( '@stdlib/array/float64' );
|
||||
*
|
||||
* var y = new Float64Array( 0 );
|
||||
*
|
||||
* var x = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
* var out = convertSame( x, y );
|
||||
* // returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
*/
|
||||
function convertSame( x, y ) {
|
||||
var dtype;
|
||||
var ctor;
|
||||
var out;
|
||||
var len;
|
||||
var i;
|
||||
if ( !isCollection( x ) ) {
|
||||
throw new TypeError( 'invalid argument. First argument must be an array-like object. Value: `' + x + '`.' );
|
||||
}
|
||||
dtype = getType( y );
|
||||
ctor = ctors( dtype );
|
||||
if ( ctor === null ) {
|
||||
throw new TypeError( 'invalid argument. Second argument must have a recognized data type. Value: `' + dtype + '`.' );
|
||||
}
|
||||
len = x.length;
|
||||
if ( dtype === 'generic' ) {
|
||||
out = [];
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
out.push( x[ i ] ); // ensure "fast" elements
|
||||
}
|
||||
return out;
|
||||
}
|
||||
out = new ctor( len );
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
out[ i ] = x[ i ];
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = convertSame;
|
67
js/node_modules/@stdlib/array/convert-same/package.json
generated
vendored
Normal file
67
js/node_modules/@stdlib/array/convert-same/package.json
generated
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"name": "@stdlib/array/convert-same",
|
||||
"version": "0.0.0",
|
||||
"description": "Convert an array to the same data type as a second input array.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"data",
|
||||
"structure",
|
||||
"array",
|
||||
"typed",
|
||||
"typed array",
|
||||
"typed-array",
|
||||
"convert",
|
||||
"cast",
|
||||
"transform",
|
||||
"copy",
|
||||
"duplicate"
|
||||
]
|
||||
}
|
128
js/node_modules/@stdlib/array/convert/README.md
generated
vendored
Normal file
128
js/node_modules/@stdlib/array/convert/README.md
generated
vendored
Normal file
|
@ -0,0 +1,128 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2018 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Convert
|
||||
|
||||
> Convert an array to an array of a different data type.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var convertArray = require( '@stdlib/array/convert' );
|
||||
```
|
||||
|
||||
#### convertArray( arr, dtype )
|
||||
|
||||
Converts an `array` to an array of a different data type.
|
||||
|
||||
```javascript
|
||||
var arr = [ 1.0, 2.0, 3.0 ];
|
||||
var out = convertArray( arr, 'float32' );
|
||||
// returns <Float32Array>[ 1.0, 2.0, 3.0 ]
|
||||
```
|
||||
|
||||
The function supports the following data types:
|
||||
|
||||
- `float32`: single-precision floating-point numbers.
|
||||
- `float64`: double-precision floating-point numbers.
|
||||
- `generic`: values of any type.
|
||||
- `int16`: signed 16-bit integers.
|
||||
- `int32`: signed 32-bit integers.
|
||||
- `int8`: signed 8-bit integers.
|
||||
- `uint16`: unsigned 16-bit integers.
|
||||
- `uint32`: unsigned 32-bit integers.
|
||||
- `uint8`: unsigned 8-bit integers.
|
||||
- `uint8c`: unsigned clamped 8-bit integers.
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var dtypes = require( '@stdlib/array/dtypes' );
|
||||
var randu = require( '@stdlib/random/base/randu' );
|
||||
var floor = require( '@stdlib/math/base/special/floor' );
|
||||
var convertArray = require( '@stdlib/array/convert' );
|
||||
|
||||
// Create a generic array:
|
||||
var arr = [];
|
||||
var i;
|
||||
for ( i = 0; i < 5; i++ ) {
|
||||
arr.push( floor( randu()*1.0e25 ) - 5.0e24 );
|
||||
}
|
||||
|
||||
// Get a list of array data types:
|
||||
var DTYPES = dtypes();
|
||||
|
||||
// Convert the generic array to each array data type:
|
||||
var out;
|
||||
for ( i = 0; i < DTYPES.length; i++ ) {
|
||||
out = convertArray( arr, DTYPES[ i ] );
|
||||
console.log( out );
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
39
js/node_modules/@stdlib/array/convert/docs/repl.txt
generated
vendored
Normal file
39
js/node_modules/@stdlib/array/convert/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
|
||||
{{alias}}( arr, dtype )
|
||||
Converts an input array to an array of a different data type.
|
||||
|
||||
The function supports the following data types:
|
||||
|
||||
- float32: single-precision floating-point numbers.
|
||||
- float64: double-precision floating-point numbers.
|
||||
- generic: values of any type.
|
||||
- int16: signed 16-bit integers.
|
||||
- int32: signed 32-bit integers.
|
||||
- int8: signed 8-bit integers.
|
||||
- uint16: unsigned 16-bit integers.
|
||||
- uint32: unsigned 32-bit integers.
|
||||
- uint8: unsigned 8-bit integers.
|
||||
- uint8c: unsigned clamped 8-bit integers.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
arr: Array|TypedArray
|
||||
Array to convert.
|
||||
|
||||
dtype: string
|
||||
Output data type.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Array|TypedArray
|
||||
Output array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
> var out = {{alias}}( arr, 'float32' )
|
||||
<Float32Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
53
js/node_modules/@stdlib/array/convert/docs/types/index.d.ts
generated
vendored
Normal file
53
js/node_modules/@stdlib/array/convert/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/// <reference types="@stdlib/types"/>
|
||||
|
||||
import { TypedArray } from '@stdlib/types/array';
|
||||
import { Collection } from '@stdlib/types/object';
|
||||
|
||||
/**
|
||||
* Array data type.
|
||||
*/
|
||||
type DataType = 'float32' | 'float64' | 'generic' | 'int16' | 'int32' | 'int8' | 'uint16' | 'uint32' | 'uint8' | 'uint8c'; // tslint:disable-line:max-line-length unified-signatures
|
||||
|
||||
/**
|
||||
* Array or typed array.
|
||||
*/
|
||||
type ArrayOrTypedArray = Array<any> | TypedArray;
|
||||
|
||||
/**
|
||||
* Converts an array to an array of a different data type.
|
||||
*
|
||||
* @param x - array to convert
|
||||
* @param dtype - output data type
|
||||
* @returns output array
|
||||
*
|
||||
* @example
|
||||
* var arr = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
* var out = convert( arr, 'float64' );
|
||||
* // returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
*/
|
||||
declare function convert( x: Collection, dtype: DataType ): ArrayOrTypedArray;
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = convert;
|
56
js/node_modules/@stdlib/array/convert/docs/types/test.ts
generated
vendored
Normal file
56
js/node_modules/@stdlib/array/convert/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import convert = require( './index' );
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns an array or typed array...
|
||||
{
|
||||
convert( [ 1.0, 2.0, 3.0, 4.0 ], 'int32' ); // $ExpectType ArrayOrTypedArray
|
||||
convert( [ 1.0, 2.0, 3.0, 4.0 ], 'float32' ); // $ExpectType ArrayOrTypedArray
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a first argument which is not array-like...
|
||||
{
|
||||
convert( 123, 'float64' ); // $ExpectError
|
||||
convert( true, 'float64' ); // $ExpectError
|
||||
convert( false, 'float64' ); // $ExpectError
|
||||
convert( {}, 'float64' ); // $ExpectError
|
||||
convert( null, 'float64' ); // $ExpectError
|
||||
convert( undefined, 'float64' ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a second argument which is not a known data type...
|
||||
{
|
||||
convert( [ 1, 2, 3, 4 ], 'abc' ); // $ExpectError
|
||||
convert( [ 1, 2, 3, 4 ], 123 ); // $ExpectError
|
||||
convert( [ 1, 2, 3, 4 ], [] ); // $ExpectError
|
||||
convert( [ 1, 2, 3, 4 ], {} ); // $ExpectError
|
||||
convert( [ 1, 2, 3, 4 ], true ); // $ExpectError
|
||||
convert( [ 1, 2, 3, 4 ], false ); // $ExpectError
|
||||
convert( [ 1, 2, 3, 4 ], null ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided an unsupported number of arguments...
|
||||
{
|
||||
convert(); // $ExpectError
|
||||
convert( [ 1.0, 2.0, 3.0, 4.0 ] ); // $ExpectError
|
||||
convert( [ 1.0, 2.0, 3.0, 4.0 ], 'float64', 2 ); // $ExpectError
|
||||
}
|
41
js/node_modules/@stdlib/array/convert/lib/index.js
generated
vendored
Normal file
41
js/node_modules/@stdlib/array/convert/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Convert an array to an array of a different data type.
|
||||
*
|
||||
* @module @stdlib/array/convert
|
||||
*
|
||||
* @example
|
||||
* var convert = require( '@stdlib/array/convert' );
|
||||
*
|
||||
* var arr = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
* var out = convert( arr, 'float64' );
|
||||
* // returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var convert = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = convert;
|
73
js/node_modules/@stdlib/array/convert/lib/main.js
generated
vendored
Normal file
73
js/node_modules/@stdlib/array/convert/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isCollection = require( '@stdlib/assert/is-collection' );
|
||||
var ctors = require( './../../ctors' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Converts an array to an array of a different data type.
|
||||
*
|
||||
* @param {Collection} x - array to convert
|
||||
* @param {string} dtype - output data type
|
||||
* @throws {TypeError} first argument must be an array-like object
|
||||
* @throws {TypeError} second argument must be a recognized array data type
|
||||
* @returns {(Array|TypedArray)} output array
|
||||
*
|
||||
* @example
|
||||
* var arr = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
* var out = convert( arr, 'float64' );
|
||||
* // returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
*/
|
||||
function convert( x, dtype ) {
|
||||
var ctor;
|
||||
var out;
|
||||
var len;
|
||||
var i;
|
||||
if ( !isCollection( x ) ) {
|
||||
throw new TypeError( 'invalid argument. First argument must be an array-like object. Value: `' + x + '`.' );
|
||||
}
|
||||
len = x.length;
|
||||
ctor = ctors( dtype );
|
||||
if ( ctor === null ) {
|
||||
throw new TypeError( 'invalid argument. Second argument must be a recognized array data type. Value: `' + dtype + '`.' );
|
||||
}
|
||||
if ( dtype === 'generic' ) {
|
||||
out = [];
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
out.push( x[ i ] ); // ensure "fast" elements
|
||||
}
|
||||
return out;
|
||||
}
|
||||
out = new ctor( len );
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
out[ i ] = x[ i ];
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = convert;
|
67
js/node_modules/@stdlib/array/convert/package.json
generated
vendored
Normal file
67
js/node_modules/@stdlib/array/convert/package.json
generated
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"name": "@stdlib/array/convert",
|
||||
"version": "0.0.0",
|
||||
"description": "Convert an array to an array of a different data type.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"data",
|
||||
"structure",
|
||||
"array",
|
||||
"typed",
|
||||
"typed array",
|
||||
"typed-array",
|
||||
"convert",
|
||||
"cast",
|
||||
"transform",
|
||||
"copy",
|
||||
"duplicate"
|
||||
]
|
||||
}
|
124
js/node_modules/@stdlib/array/ctors/README.md
generated
vendored
Normal file
124
js/node_modules/@stdlib/array/ctors/README.md
generated
vendored
Normal file
|
@ -0,0 +1,124 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2018 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Constructors
|
||||
|
||||
> Array constructors.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var ctors = require( '@stdlib/array/ctors' );
|
||||
```
|
||||
|
||||
#### ctors( dtype )
|
||||
|
||||
Returns an array constructor for a specified data type.
|
||||
|
||||
```javascript
|
||||
var ctor = ctors( 'float64' );
|
||||
// returns <Function>
|
||||
```
|
||||
|
||||
The function returns constructors for the following data types:
|
||||
|
||||
- `float32`: single-precision floating-point numbers.
|
||||
- `float64`: double-precision floating-point numbers.
|
||||
- `generic`: values of any type.
|
||||
- `int16`: signed 16-bit integers.
|
||||
- `int32`: signed 32-bit integers.
|
||||
- `int8`: signed 8-bit integers.
|
||||
- `uint16`: unsigned 16-bit integers.
|
||||
- `uint32`: unsigned 32-bit integers.
|
||||
- `uint8`: unsigned 8-bit integers.
|
||||
- `uint8c`: unsigned clamped 8-bit integers.
|
||||
|
||||
If provided an unknown or unsupported data type, the function returns `null`.
|
||||
|
||||
```javascript
|
||||
var ctor = ctors( 'float' );
|
||||
// returns null
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var dtypes = require( '@stdlib/array/dtypes' );
|
||||
var ctors = require( '@stdlib/array/ctors' );
|
||||
|
||||
var DTYPES = dtypes();
|
||||
var ctor;
|
||||
var i;
|
||||
|
||||
for ( i = 0; i < DTYPES.length; i++ ) {
|
||||
ctor = ctors( DTYPES[ i ] );
|
||||
console.log( ctor );
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
37
js/node_modules/@stdlib/array/ctors/docs/repl.txt
generated
vendored
Normal file
37
js/node_modules/@stdlib/array/ctors/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
|
||||
{{alias}}( dtype )
|
||||
Returns an array constructor.
|
||||
|
||||
The function returns constructors for the following data types:
|
||||
|
||||
- float32: single-precision floating-point numbers.
|
||||
- float64: double-precision floating-point numbers.
|
||||
- generic: values of any type.
|
||||
- int16: signed 16-bit integers.
|
||||
- int32: signed 32-bit integers.
|
||||
- int8: signed 8-bit integers.
|
||||
- uint16: unsigned 16-bit integers.
|
||||
- uint32: unsigned 32-bit integers.
|
||||
- uint8: unsigned 8-bit integers.
|
||||
- uint8c: unsigned clamped 8-bit integers.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
dtype: string
|
||||
Data type.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Function|null
|
||||
Constructor.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var ctor = {{alias}}( 'float64' )
|
||||
<Function>
|
||||
> ctor = {{alias}}( 'float' )
|
||||
null
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
40
js/node_modules/@stdlib/array/ctors/docs/types/index.d.ts
generated
vendored
Normal file
40
js/node_modules/@stdlib/array/ctors/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/**
|
||||
* Returns an array constructor.
|
||||
*
|
||||
* @param dtype - data type
|
||||
* @returns constructor or null
|
||||
*
|
||||
* @example
|
||||
* var ctor = ctors( 'float64' );
|
||||
* // returns <Function>
|
||||
*
|
||||
* @example
|
||||
* var ctor = ctors( 'float' );
|
||||
* // returns null
|
||||
*/
|
||||
declare function ctors( dtype: string ): Function | null;
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = ctors;
|
33
js/node_modules/@stdlib/array/ctors/docs/types/test.ts
generated
vendored
Normal file
33
js/node_modules/@stdlib/array/ctors/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import ctors = require( './index' );
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns a function or null..
|
||||
{
|
||||
ctors( 'float64' ); // $ExpectType Function | null
|
||||
ctors( 'float' ); // $ExpectType Function | null
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided an unsupported number of arguments...
|
||||
{
|
||||
ctors(); // $ExpectError
|
||||
ctors( 'int32', 3 ); // $ExpectError
|
||||
}
|
53
js/node_modules/@stdlib/array/ctors/lib/ctors.js
generated
vendored
Normal file
53
js/node_modules/@stdlib/array/ctors/lib/ctors.js
generated
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var Float64Array = require( './../../float64' );
|
||||
var Float32Array = require( './../../float32' );
|
||||
var Int16Array = require( './../../int16' );
|
||||
var Int32Array = require( './../../int32' );
|
||||
var Int8Array = require( './../../int8' );
|
||||
var Uint16Array = require( './../../uint16' );
|
||||
var Uint32Array = require( './../../uint32' );
|
||||
var Uint8Array = require( './../../uint8' );
|
||||
var Uint8ClampedArray = require( './../../uint8c' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
// Mapping from data types to constructors...
|
||||
var ctors = {
|
||||
'float64': Float64Array,
|
||||
'float32': Float32Array,
|
||||
'generic': Array, // TODO: replace with `stdlib` pkg
|
||||
'int16': Int16Array,
|
||||
'int32': Int32Array,
|
||||
'int8': Int8Array,
|
||||
'uint16': Uint16Array,
|
||||
'uint32': Uint32Array,
|
||||
'uint8': Uint8Array,
|
||||
'uint8c': Uint8ClampedArray
|
||||
};
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctors;
|
43
js/node_modules/@stdlib/array/ctors/lib/index.js
generated
vendored
Normal file
43
js/node_modules/@stdlib/array/ctors/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Array constructors.
|
||||
*
|
||||
* @module @stdlib/array/ctors
|
||||
*
|
||||
* @example
|
||||
* var ctors = require( '@stdlib/array/ctors' );
|
||||
*
|
||||
* var ctor = ctors( 'float64' );
|
||||
* // returns <Function>
|
||||
*
|
||||
* ctor = ctors( 'int' );
|
||||
* // returns null
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var ctors = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctors;
|
49
js/node_modules/@stdlib/array/ctors/lib/main.js
generated
vendored
Normal file
49
js/node_modules/@stdlib/array/ctors/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var table = require( './ctors.js' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns an array constructor.
|
||||
*
|
||||
* @param {string} dtype - data type
|
||||
* @returns {(Function|null)} constructor or null
|
||||
*
|
||||
* @example
|
||||
* var ctor = ctors( 'float64' );
|
||||
* // returns <Function>
|
||||
*
|
||||
* @example
|
||||
* var ctor = ctors( 'float' );
|
||||
* // returns null
|
||||
*/
|
||||
function ctors( dtype ) {
|
||||
return table[ dtype ] || null;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctors;
|
71
js/node_modules/@stdlib/array/ctors/package.json
generated
vendored
Normal file
71
js/node_modules/@stdlib/array/ctors/package.json
generated
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
"name": "@stdlib/array/ctors",
|
||||
"version": "0.0.0",
|
||||
"description": "Array constructors.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"array",
|
||||
"list",
|
||||
"dtypes",
|
||||
"dtype",
|
||||
"data",
|
||||
"structure",
|
||||
"constructors",
|
||||
"constructor",
|
||||
"ctors",
|
||||
"ctor",
|
||||
"utilities",
|
||||
"utility",
|
||||
"utils",
|
||||
"util"
|
||||
],
|
||||
"__stdlib__": {}
|
||||
}
|
191
js/node_modules/@stdlib/array/dataview/README.md
generated
vendored
Normal file
191
js/node_modules/@stdlib/array/dataview/README.md
generated
vendored
Normal file
|
@ -0,0 +1,191 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2021 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# DataView
|
||||
|
||||
> [Constructor][mdn-dataview] which returns a data view representing a provided array buffer.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var DataView = require( '@stdlib/array/dataview' );
|
||||
```
|
||||
|
||||
#### DataView( buffer\[, byteOffset\[, byteLength]] )
|
||||
|
||||
Returns a [`DataView`][mdn-dataview] representing a provided array buffer.
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
|
||||
var buf = new ArrayBuffer( 5 );
|
||||
// returns <ArrayBuffer>
|
||||
|
||||
var dv = new DataView( buf );
|
||||
// returns <DataView>
|
||||
```
|
||||
|
||||
* * *
|
||||
|
||||
### Properties
|
||||
|
||||
#### DataView.prototype.buffer
|
||||
|
||||
**Read-only** property which returns the underlying array buffer.
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
|
||||
var buf1 = new ArrayBuffer( 5 );
|
||||
var dv = new DataView( buf1 );
|
||||
|
||||
var buf2 = dv.buffer;
|
||||
// returns <ArrayBuffer>
|
||||
|
||||
var bool = ( buf1 === buf2 );
|
||||
// returns true
|
||||
```
|
||||
|
||||
#### DataView.prototype.byteLength
|
||||
|
||||
**Read-only** property which returns the length (in bytes) of the [`DataView`][mdn-dataview].
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
|
||||
var buf = new ArrayBuffer( 5 );
|
||||
var dv = new DataView( buf );
|
||||
|
||||
var byteLength = dv.byteLength;
|
||||
// returns 5
|
||||
```
|
||||
|
||||
#### DataView.prototype.byteOffset
|
||||
|
||||
**Read-only** property which returns the number of bytes from the [`DataView`][mdn-dataview] to the start of the underlying array buffer.
|
||||
|
||||
<!-- eslint-disable stdlib/require-globals -->
|
||||
|
||||
```javascript
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
|
||||
var buf = new ArrayBuffer( 5 );
|
||||
var dv = new DataView( buf, 3 );
|
||||
|
||||
var byteOffset = dv.byteOffset;
|
||||
// returns 3
|
||||
```
|
||||
|
||||
* * *
|
||||
|
||||
### Methods
|
||||
|
||||
TODO: document methods
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
* * *
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var IS_LITTLE_ENDIAN = require( '@stdlib/assert/is-little-endian' );
|
||||
var toBinaryString = require( '@stdlib/number/uint8/base/to-binary-string' );
|
||||
var randu = require( '@stdlib/random/base/randu' );
|
||||
var Uint8Array = require( '@stdlib/array/uint8' );
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
var DataView = require( '@stdlib/array/dataview' );
|
||||
|
||||
// Create a new ArrayBuffer:
|
||||
var buf = new ArrayBuffer( 64 );
|
||||
|
||||
// Create a new DataView:
|
||||
var dv = new DataView( buf );
|
||||
|
||||
// Set values in the view:
|
||||
var i;
|
||||
for ( i = 0; i < dv.byteLength/8; i++ ) {
|
||||
dv.setFloat64( i*8, randu()*100.0, IS_LITTLE_ENDIAN );
|
||||
}
|
||||
|
||||
// Create a "bytes" view of the underlying array buffer:
|
||||
var bytes = new Uint8Array( dv.buffer );
|
||||
|
||||
// Print the bytes:
|
||||
for ( i = 0; i < bytes.length; i++ ) {
|
||||
console.log( 'byte %d: %s', i, toBinaryString( bytes[ i ] ) );
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
[mdn-dataview]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
74
js/node_modules/@stdlib/array/dataview/docs/repl.txt
generated
vendored
Normal file
74
js/node_modules/@stdlib/array/dataview/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
|
||||
{{alias}}( buffer[, byteOffset[, byteLength]] )
|
||||
Returns a data view representing a provided array buffer.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
buffer: ArrayBuffer|SharedArrayBuffer
|
||||
Array buffer.
|
||||
|
||||
byteOffset: integer (optional)
|
||||
Offset (in bytes) to the first byte in the array buffer for the new view
|
||||
to reference. Default: 0.
|
||||
|
||||
byteLength: integer (optional)
|
||||
Number of elements in the byte array. If not provided, the view's length
|
||||
will equal the buffer's length.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: DataView
|
||||
A data view.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var buf = new {{alias:@stdlib/array/buffer}}( 5 )
|
||||
<ArrayBuffer>
|
||||
> var dv = new {{alias}}( buf )
|
||||
<DataView>
|
||||
|
||||
|
||||
{{alias}}.prototype.buffer
|
||||
Read-only property which returns the underyling array buffer.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var buf1 = new {{alias:@stdlib/array/buffer}}( 5 );
|
||||
> var dv = new {{alias}}( buf1 );
|
||||
> var buf2 = dv.buffer
|
||||
<ArrayBuffer>
|
||||
> var b = ( buf1 === buf2 )
|
||||
true
|
||||
|
||||
|
||||
{{alias}}.prototype.byteLength
|
||||
Read-only property which returns the length (in bytes) of the view.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var buf = new {{alias:@stdlib/array/buffer}}( 5 );
|
||||
> var dv = new {{alias}}( buf );
|
||||
> dv.byteLength
|
||||
5
|
||||
|
||||
|
||||
{{alias}}.prototype.byteOffset
|
||||
Read-only property which returns the offset (in bytes) of the view to the
|
||||
start of the underlying array buffer.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var buf = new {{alias:@stdlib/array/buffer}}( 5 );
|
||||
> var dv = new {{alias}}( buf, 2 );
|
||||
> dv.byteLength
|
||||
3
|
||||
> dv.byteOffset
|
||||
2
|
||||
|
||||
|
||||
TODO: document properties/methods
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
26
js/node_modules/@stdlib/array/dataview/docs/types/index.d.ts
generated
vendored
Normal file
26
js/node_modules/@stdlib/array/dataview/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
/**
|
||||
* Constructor which returns a data view representing a provided array buffer.
|
||||
*/
|
||||
export = DataView;
|
38
js/node_modules/@stdlib/array/dataview/docs/types/test.ts
generated
vendored
Normal file
38
js/node_modules/@stdlib/array/dataview/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// tslint:disable: no-construct
|
||||
// tslint:disable: no-unused-expression
|
||||
|
||||
import ArrayBuffer = require( './../../../buffer' );
|
||||
import DataView = require( './index' );
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns a data view instance...
|
||||
{
|
||||
const buf = new ArrayBuffer( 5 );
|
||||
new DataView( buf ); // $ExpectType DataView
|
||||
}
|
||||
|
||||
// The constructor function has to be invoked with `new`...
|
||||
{
|
||||
const buf = new ArrayBuffer( 5 );
|
||||
DataView( buf ); // $ExpectError
|
||||
}
|
56
js/node_modules/@stdlib/array/dataview/lib/index.js
generated
vendored
Normal file
56
js/node_modules/@stdlib/array/dataview/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,56 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Constructor which returns a data view representing a provided array buffer.
|
||||
*
|
||||
* @module @stdlib/array/dataview
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var DataView = require( '@stdlib/array/dataview' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 10 );
|
||||
* // returns <ArrayBuffer>
|
||||
*
|
||||
* var dv = new DataView( buf );
|
||||
* // returns <DataView>
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var hasDataViewSupport = require( '@stdlib/assert/has-dataview-support' );
|
||||
var builtin = require( './main.js' );
|
||||
var polyfill = require( './polyfill.js' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
var ctor;
|
||||
if ( hasDataViewSupport() ) {
|
||||
ctor = builtin;
|
||||
} else {
|
||||
ctor = polyfill;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctor;
|
28
js/node_modules/@stdlib/array/dataview/lib/main.js
generated
vendored
Normal file
28
js/node_modules/@stdlib/array/dataview/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MAIN //
|
||||
|
||||
var ctor = ( typeof DataView === 'function' ) ? DataView : void 0; // eslint-disable-line stdlib/require-globals
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctor;
|
37
js/node_modules/@stdlib/array/dataview/lib/polyfill.js
generated
vendored
Normal file
37
js/node_modules/@stdlib/array/dataview/lib/polyfill.js
generated
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// TODO: write polyfill
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Constructor which returns a data view representing a provided array buffer.
|
||||
*
|
||||
* @throws {Error} not implemented
|
||||
*/
|
||||
function polyfill() {
|
||||
throw new Error( 'not implemented' );
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = polyfill;
|
67
js/node_modules/@stdlib/array/dataview/package.json
generated
vendored
Normal file
67
js/node_modules/@stdlib/array/dataview/package.json
generated
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"name": "@stdlib/array/dataview",
|
||||
"version": "0.0.0",
|
||||
"description": "DataView.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"data",
|
||||
"structure",
|
||||
"array",
|
||||
"typed",
|
||||
"typed array",
|
||||
"typed-array",
|
||||
"arraybuffer",
|
||||
"dataview",
|
||||
"buffer",
|
||||
"buf",
|
||||
"binary"
|
||||
]
|
||||
}
|
161
js/node_modules/@stdlib/array/datespace/README.md
generated
vendored
Normal file
161
js/node_modules/@stdlib/array/datespace/README.md
generated
vendored
Normal file
|
@ -0,0 +1,161 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2021 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Datespace
|
||||
|
||||
> Generate an array of linearly spaced [dates][mdn-date-object].
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var datespace = require( '@stdlib/array/datespace' );
|
||||
```
|
||||
|
||||
#### datespace( start, stop\[, length]\[, opts] )
|
||||
|
||||
Generates an `array` of linearly spaced [`Date`][mdn-date-object] objects. If a `length` is not provided, the default output `array` length is `100`.
|
||||
|
||||
```javascript
|
||||
var end = '2014-12-02T07:00:54.973Z';
|
||||
var start = new Date( end ) - 60000;
|
||||
|
||||
var arr = datespace( start, end, 6 );
|
||||
/* returns [
|
||||
'Mon Dec 01 2014 22:59:54 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:06 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:18 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:30 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:42 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:54 GMT-0800 (PST)'
|
||||
]
|
||||
*/
|
||||
```
|
||||
|
||||
The `start` and `stop` times may be either [`Date`][mdn-date-object] objects, date strings, Unix timestamps, or JavaScript timestamps.
|
||||
|
||||
```javascript
|
||||
// JavaScript timestamps:
|
||||
var end = 1417503654973;
|
||||
var start = new Date( end - 60000 );
|
||||
|
||||
var arr = datespace( start, end, 6 );
|
||||
/* returns [
|
||||
'Mon Dec 01 2014 22:59:54 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:06 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:18 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:30 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:42 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:54 GMT-0800 (PST)'
|
||||
]
|
||||
*/
|
||||
|
||||
// Unix timestamps:
|
||||
end = 1417503655;
|
||||
start = end - 60;
|
||||
|
||||
arr = datespace( start, end, 6 );
|
||||
/* returns [
|
||||
'Mon Dec 01 2014 22:59:54 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:06 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:18 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:30 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:42 GMT-0800 (PST)',
|
||||
'Mon Dec 01 2014 23:00:54 GMT-0800 (PST)'
|
||||
]
|
||||
*/
|
||||
```
|
||||
|
||||
The output `array` is guaranteed to include the `start` and `end` times. Beware, however, that values between the `start` and `end` are subject to rounding errors. For example,
|
||||
|
||||
```javascript
|
||||
var arr = datespace( 1417503655000, 1417503655001, 3 );
|
||||
// returns [ 1417503655000, 1417503655000, 1417503655001 ]
|
||||
```
|
||||
|
||||
where sub-millisecond values are truncated by the [`Date`][mdn-date-object] constructor. Duplicate values should only be a problem when the interval separating consecutive times is less than a millisecond. As the interval separating consecutive dates goes to infinity, the quantization noise introduced by millisecond resolution is negligible.
|
||||
|
||||
By default, fractional timestamps are floored. To specify that timestamps always be rounded up or to the nearest millisecond **when converted to [`Date`][mdn-date-object] objects**, set the `round` option (default: `floor`).
|
||||
|
||||
```javascript
|
||||
// Equivalent of Math.ceil():
|
||||
var arr = datespace( 1417503655000, 1417503655001, 3, {
|
||||
'round': 'ceil'
|
||||
});
|
||||
// returns [ 1417503655000, 1417503655001, 1417503655001 ]
|
||||
|
||||
// Equivalent of Math.round():
|
||||
arr = datespace( 1417503655000, 1417503655001, 3, {
|
||||
'round': 'round'
|
||||
});
|
||||
// returns [ 1417503655000, 1417503655001, 1417503655001 ]
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
```javascript
|
||||
var datespace = require( '@stdlib/array/datespace' );
|
||||
var start;
|
||||
var arr;
|
||||
var end;
|
||||
|
||||
end = '2014-12-02T07:00:54.973Z';
|
||||
start = new Date( end ) - 100000;
|
||||
|
||||
// Default behavior:
|
||||
arr = datespace( start, end );
|
||||
console.log( arr.join( '\n' ) );
|
||||
|
||||
// Specify length:
|
||||
arr = datespace( start, end, 10 );
|
||||
console.log( arr.join( '\n' ) );
|
||||
|
||||
arr = datespace( start, end, 11 );
|
||||
console.log( arr.join( '\n' ) );
|
||||
|
||||
// Create an array with decremented values:
|
||||
arr = datespace( end, start, 11 );
|
||||
console.log( arr.join( '\n' ) );
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
[mdn-date-object]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
44
js/node_modules/@stdlib/array/datespace/docs/repl.txt
generated
vendored
Normal file
44
js/node_modules/@stdlib/array/datespace/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
|
||||
{{alias}}( start, stop[, length][ , options] )
|
||||
Generates an array of linearly spaced dates.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
start: number
|
||||
Start time as either a `Date` object, Unix timestamp, JavaScript
|
||||
timestamp, or date string.
|
||||
|
||||
stop: number
|
||||
Stop time as either a `Date` object, Unix timestamp, JavaScript
|
||||
timestamp, or date string.
|
||||
|
||||
length: integer (optional)
|
||||
Length of output array. Default: `100`.
|
||||
|
||||
options: Object (optional)
|
||||
Options.
|
||||
|
||||
options.round: string (optional)
|
||||
Specifies how sub-millisecond times should be rounded:
|
||||
[ 'floor', 'ceil', 'round' ]. Default: 'floor'.
|
||||
|
||||
Returns
|
||||
-------
|
||||
arr: Array
|
||||
Array of dates.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var stop = '2014-12-02T07:00:54.973Z';
|
||||
> var start = new Date( stop ) - 60000;
|
||||
> var arr = {{alias}}( start, stop, 6 )
|
||||
[...]
|
||||
|
||||
// Equivalent of Math.ceil():
|
||||
> var opts = { 'round': 'ceil' };
|
||||
> arr = {{alias}}( 1417503655000, 1417503655001, 3, opts )
|
||||
[...]
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
92
js/node_modules/@stdlib/array/datespace/docs/types/index.d.ts
generated
vendored
Normal file
92
js/node_modules/@stdlib/array/datespace/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/**
|
||||
* Interface defining function options.
|
||||
*/
|
||||
interface Options {
|
||||
/**
|
||||
* Specifies how sub-millisecond times should be rounded (default: 'floor' ).
|
||||
*/
|
||||
round?: 'floor' | 'round' | 'ceil';
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates an array of linearly spaced dates.
|
||||
*
|
||||
* @param start - start time as either a `Date` object, Unix timestamp, JavaScript timestamp, or date string
|
||||
* @param stop - stop time as either a `Date` object, Unix timestamp, JavaScript timestamp, or date string
|
||||
* @param options - function options
|
||||
* @param options.round - specifies how sub-millisecond times should be rounded: [ 'floor', 'ceil', 'round' ] (default: 'floor' )
|
||||
* @throws must provide valid options
|
||||
* @returns array of dates
|
||||
*
|
||||
* @example
|
||||
* var stop = '2014-12-02T07:00:54.973Z';
|
||||
* var start = new Date( stop ) - 60000;
|
||||
*
|
||||
* var arr = datespace( start, stop, 6 );
|
||||
* // returns [...]
|
||||
*
|
||||
* @example
|
||||
* // Equivalent of Math.ceil():
|
||||
* var arr = datespace( 1417503655000, 1417503655001, 3, { 'round': 'ceil' } );
|
||||
* // returns [...]
|
||||
*
|
||||
* // Equivalent of Math.round():
|
||||
* var arr = datespace( 1417503655000, 1417503655001, 3, { 'round': 'round' } );
|
||||
* // returns [...]
|
||||
*/
|
||||
declare function datespace( start: Date | number | string, stop: Date | number | string, options?: Options ): Array<Date>; // tslint-disable-line max-line-length
|
||||
|
||||
/**
|
||||
* Generates an array of linearly spaced dates.
|
||||
*
|
||||
* @param start - start time as either a `Date` object, Unix timestamp, JavaScript timestamp, or date string
|
||||
* @param stop - stop time as either a `Date` object, Unix timestamp, JavaScript timestamp, or date string
|
||||
* @param length - output array length (default: 100)
|
||||
* @param options - function options
|
||||
* @param options.round - specifies how sub-millisecond times should be rounded: [ 'floor', 'ceil', 'round' ] (default: 'floor' )
|
||||
* @throws length argument must a positive integer
|
||||
* @throws must provide valid options
|
||||
* @returns array of dates
|
||||
*
|
||||
* @example
|
||||
* var stop = '2014-12-02T07:00:54.973Z';
|
||||
* var start = new Date( stop ) - 60000;
|
||||
*
|
||||
* var arr = datespace( start, stop, 6 );
|
||||
* // returns [...]
|
||||
*
|
||||
* @example
|
||||
* // Equivalent of Math.ceil():
|
||||
* var arr = datespace( 1417503655000, 1417503655001, 3, { 'round': 'ceil' } );
|
||||
* // returns [...]
|
||||
*
|
||||
* // Equivalent of Math.round():
|
||||
* var arr = datespace( 1417503655000, 1417503655001, 3, { 'round': 'round' } );
|
||||
* // returns [...]
|
||||
*/
|
||||
declare function datespace( start: Date | number | string, stop: Date | number | string, length: number, options?: Options ): Array<Date>; // tslint-disable-line max-line-length
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = datespace;
|
86
js/node_modules/@stdlib/array/datespace/docs/types/test.ts
generated
vendored
Normal file
86
js/node_modules/@stdlib/array/datespace/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,86 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import datespace = require( './index' );
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns an array of dates...
|
||||
{
|
||||
const stop = '2014-12-02T07:00:54.973Z';
|
||||
const start = new Date( stop ).getTime() - 60000;
|
||||
datespace( start, stop ); // $ExpectType Date[]
|
||||
datespace( start, stop, 30 ); // $ExpectType Date[]
|
||||
datespace( start, stop, { 'round': 'floor' } ); // $ExpectType Date[]
|
||||
datespace( start, stop, 30, { 'round': 'floor' } ); // $ExpectType Date[]
|
||||
}
|
||||
|
||||
// The function does not compile if provided values other `Date` objects, Unix timestamps, JavaScript timestamps, or date strings for the first two parameters...
|
||||
{
|
||||
const stop = '2014-12-02T07:00:54.973Z';
|
||||
const start = new Date( stop ).getTime() - 60000;
|
||||
datespace( true, stop ); // $ExpectError
|
||||
datespace( false, stop ); // $ExpectError
|
||||
datespace( null, stop ); // $ExpectError
|
||||
datespace( [], stop ); // $ExpectError
|
||||
datespace( {}, stop ); // $ExpectError
|
||||
datespace( ( x: number ): number => x, stop ); // $ExpectError
|
||||
|
||||
datespace( start, true ); // $ExpectError
|
||||
datespace( start, false ); // $ExpectError
|
||||
datespace( start, [] ); // $ExpectError
|
||||
datespace( start, {} ); // $ExpectError
|
||||
datespace( start, ( x: number ): number => x ); // $ExpectError
|
||||
}
|
||||
|
||||
// The function does not compile if provided a value other than a number or object for the third parameter...
|
||||
{
|
||||
const stop = '2014-12-02T07:00:54.973Z';
|
||||
const start = new Date( stop ).getTime() - 60000;
|
||||
datespace( start, stop, true ); // $ExpectError
|
||||
datespace( start, stop, false ); // $ExpectError
|
||||
datespace( start, stop, '5' ); // $ExpectError
|
||||
datespace( start, stop, [] ); // $ExpectError
|
||||
datespace( start, stop, ( x: number ): number => x ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a `round` option which is not a recognized rounding procedure...
|
||||
{
|
||||
const stop = '2014-12-02T07:00:54.973Z';
|
||||
const start = new Date( stop ).getTime() - 60000;
|
||||
datespace( start, stop, { 'round': 'abc' } ); // $ExpectError
|
||||
datespace( start, stop, { 'round': 123 } ); // $ExpectError
|
||||
datespace( start, stop, { 'round': null } ); // $ExpectError
|
||||
datespace( start, stop, { 'round': [] } ); // $ExpectError
|
||||
datespace( start, stop, { 'round': {} } ); // $ExpectError
|
||||
datespace( start, stop, { 'round': ( x: number ): number => x } ); // $ExpectError
|
||||
|
||||
datespace( start, stop, 10, { 'round': 'abc' } ); // $ExpectError
|
||||
datespace( start, stop, 10, { 'round': 123 } ); // $ExpectError
|
||||
datespace( start, stop, 10, { 'round': null } ); // $ExpectError
|
||||
datespace( start, stop, 10, { 'round': [] } ); // $ExpectError
|
||||
datespace( start, stop, 10, { 'round': {} } ); // $ExpectError
|
||||
datespace( start, stop, 10, { 'round': ( x: number ): number => x } ); // $ExpectError
|
||||
}
|
||||
|
||||
// The function does not compile if provided insufficient arguments...
|
||||
{
|
||||
datespace(); // $ExpectError
|
||||
datespace( new Date() ); // $ExpectError
|
||||
}
|
43
js/node_modules/@stdlib/array/datespace/lib/index.js
generated
vendored
Normal file
43
js/node_modules/@stdlib/array/datespace/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Generate an array of linearly spaced dates.
|
||||
*
|
||||
* @module @stdlib/array/datespace
|
||||
*
|
||||
* @example
|
||||
* var datespace = require( '@stdlib/array/datespace' );
|
||||
*
|
||||
* var stop = '2014-12-02T07:00:54.973Z';
|
||||
* var start = new Date( stop ) - 60000;
|
||||
*
|
||||
* var arr = datespace( start, stop, 6 );
|
||||
* // returns [...]
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var datespace = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = datespace;
|
192
js/node_modules/@stdlib/array/datespace/lib/main.js
generated
vendored
Normal file
192
js/node_modules/@stdlib/array/datespace/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,192 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var hasOwnProp = require( '@stdlib/assert/has-own-property' );
|
||||
var isInteger = require( '@stdlib/assert/is-integer' );
|
||||
var isString = require( '@stdlib/assert/is-string' ).isPrimitive;
|
||||
var isObject = require( '@stdlib/assert/is-object' );
|
||||
var floor = require( '@stdlib/math/base/special/floor' );
|
||||
var round = require( '@stdlib/math/base/special/round' );
|
||||
var ceil = require( '@stdlib/math/base/special/ceil' );
|
||||
|
||||
|
||||
// VARIABLES //
|
||||
|
||||
var timestamp = /^\d{10}$|^\d{13}$/;
|
||||
var rounders = [ 'floor', 'ceil', 'round' ];
|
||||
|
||||
|
||||
// FUNCTIONS //
|
||||
|
||||
/**
|
||||
* Validates a date parameter.
|
||||
*
|
||||
* @private
|
||||
* @param {*} value - value to be validated
|
||||
* @param {string} name - name to be used in error messages
|
||||
* @throws {TypeError} value must either be a date string, Date object, Unix timestamp, or JavaScript timestamp
|
||||
* @throws {Error} numeric date must be either a Unix or Javascript timestamp
|
||||
* @returns {Date} validated date
|
||||
*/
|
||||
function validDate( value, name ) {
|
||||
var type;
|
||||
|
||||
type = typeof value;
|
||||
if ( type === 'string' ) {
|
||||
value = Date.parse( value );
|
||||
if ( value !== value ) {
|
||||
throw new Error( 'invalid argument. Unable to parse ' + name.toLowerCase() + ' date.' );
|
||||
}
|
||||
value = new Date( value );
|
||||
}
|
||||
if ( type === 'number' ) {
|
||||
if ( !timestamp.test( value ) ) {
|
||||
throw new Error( 'invalid argument. Numeric ' + name.toLowerCase() + ' date must be either a Unix or Javascript timestamp.' );
|
||||
}
|
||||
if ( value.toString().length === 10 ) {
|
||||
value *= 1000; // sec to ms
|
||||
}
|
||||
value = new Date( value );
|
||||
}
|
||||
if ( !(value instanceof Date) ) {
|
||||
throw new TypeError( 'invalid argument. ' + name + ' date must either be a date string, Date object, Unix timestamp, or JavaScript timestamp.' );
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Generates an array of linearly spaced dates.
|
||||
*
|
||||
* @param {(Date|number|string)} start - start time as either a `Date` object, Unix timestamp, JavaScript timestamp, or date string
|
||||
* @param {(Date|number|string)} stop - stop time as either a `Date` object, Unix timestamp, JavaScript timestamp, or date string
|
||||
* @param {number} [length] - output array length (default: 100)
|
||||
* @param {Object} [options] - function options
|
||||
* @param {string} [options.round] - specifies how sub-millisecond times should be rounded: [ 'floor', 'ceil', 'round' ] (default: 'floor' )
|
||||
* @throws {TypeError} length argument must a positive integer
|
||||
* @throws {Error} must provide valid options
|
||||
* @returns {Array} array of dates
|
||||
*
|
||||
* @example
|
||||
* var stop = '2014-12-02T07:00:54.973Z';
|
||||
* var start = new Date( stop ) - 60000;
|
||||
*
|
||||
* var arr = datespace( start, stop, 6 );
|
||||
* // returns [...]
|
||||
*
|
||||
* @example
|
||||
* // Equivalent of Math.ceil():
|
||||
* var arr = datespace( 1417503655000, 1417503655001, 3, { 'round': 'ceil' } );
|
||||
* // returns [...]
|
||||
*
|
||||
* // Equivalent of Math.round():
|
||||
* arr = datespace( 1417503655000, 1417503655001, 3, { 'round': 'round' } );
|
||||
* // returns [...]
|
||||
*/
|
||||
function datespace( start, stop, length, options ) {
|
||||
var opts;
|
||||
var len;
|
||||
var flg;
|
||||
var arr;
|
||||
var end;
|
||||
var fcn;
|
||||
var tmp;
|
||||
var d;
|
||||
var i;
|
||||
|
||||
len = 100;
|
||||
flg = true;
|
||||
opts = {
|
||||
'round': 'floor'
|
||||
};
|
||||
start = validDate( start, 'Start' );
|
||||
stop = validDate( stop, 'Stop' );
|
||||
if ( arguments.length > 2 ) {
|
||||
if ( arguments.length === 3 ) {
|
||||
if ( isObject( length ) ) {
|
||||
opts = length;
|
||||
} else {
|
||||
len = length;
|
||||
|
||||
// Turn off checking the options object...
|
||||
flg = false;
|
||||
}
|
||||
} else {
|
||||
opts = options;
|
||||
len = length;
|
||||
}
|
||||
if ( len === 0 ) {
|
||||
return [];
|
||||
}
|
||||
if ( !isInteger( len ) || len < 0 ) {
|
||||
throw new TypeError( 'invalid argument. Length must a positive integer.' );
|
||||
}
|
||||
if ( flg ) {
|
||||
if ( !isObject( opts ) ) {
|
||||
throw new TypeError( 'invalid argument. Options argument must be an object. Value: `' + opts + '`.' );
|
||||
}
|
||||
if ( hasOwnProp( opts, 'round' ) ) {
|
||||
if ( !isString( opts.round ) ) {
|
||||
throw new TypeError( 'invalid option. `round` option must be a string.' );
|
||||
}
|
||||
if ( rounders.indexOf( opts.round ) === -1 ) {
|
||||
throw new Error( 'invalid input option. `round` option must be one of [' + rounders.join( ',' ) + '].' );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
switch ( opts.round ) {
|
||||
case 'round':
|
||||
fcn = round;
|
||||
break;
|
||||
case 'ceil':
|
||||
fcn = ceil;
|
||||
break;
|
||||
default:
|
||||
case 'floor':
|
||||
fcn = floor;
|
||||
break;
|
||||
}
|
||||
|
||||
// Calculate the increment...
|
||||
end = len - 1;
|
||||
d = ( stop.getTime() - start.getTime() ) / end;
|
||||
|
||||
// Build the output array...
|
||||
arr = new Array( len );
|
||||
tmp = start;
|
||||
arr[ 0 ] = tmp;
|
||||
tmp = tmp.getTime();
|
||||
for ( i = 1; i < end; i++ ) {
|
||||
tmp += d;
|
||||
arr[ i ] = new Date( fcn( tmp ) );
|
||||
}
|
||||
arr[ end ] = stop;
|
||||
return arr;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = datespace;
|
64
js/node_modules/@stdlib/array/datespace/package.json
generated
vendored
Normal file
64
js/node_modules/@stdlib/array/datespace/package.json
generated
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"name": "@stdlib/array/datespace",
|
||||
"version": "0.0.0",
|
||||
"description": "Generate an array of linearly spaced dates.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdmath",
|
||||
"utilities",
|
||||
"utils",
|
||||
"mathematics",
|
||||
"math",
|
||||
"generic",
|
||||
"array",
|
||||
"matlab",
|
||||
"linear",
|
||||
"date"
|
||||
]
|
||||
}
|
963
js/node_modules/@stdlib/array/docs/types/index.d.ts
generated
vendored
Normal file
963
js/node_modules/@stdlib/array/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,963 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/* tslint:disable:max-line-length */
|
||||
/* tslint:disable:max-file-line-count */
|
||||
|
||||
import ArrayBuffer = require( './../../buffer' );
|
||||
import Complex64Array = require( './../../complex64' );
|
||||
import Complex128Array = require( './../../complex128' );
|
||||
import convertArray = require( './../../convert' );
|
||||
import convertArraySame = require( './../../convert-same' );
|
||||
import arrayCtors = require( './../../ctors' );
|
||||
import DataView = require( './../../dataview' );
|
||||
import datespace = require( './../../datespace' );
|
||||
import arrayDataType = require( './../../dtype' );
|
||||
import arrayDataTypes = require( './../../dtypes' );
|
||||
import filledarray = require( './../../filled' );
|
||||
import Float32Array = require( './../../float32' );
|
||||
import Float64Array = require( './../../float64' );
|
||||
import iterator2array = require( './../../from-iterator' );
|
||||
import incrspace = require( './../../incrspace' );
|
||||
import Int8Array = require( './../../int8' );
|
||||
import Int16Array = require( './../../int16' );
|
||||
import Int32Array = require( './../../int32' );
|
||||
import linspace = require( './../../linspace' );
|
||||
import logspace = require( './../../logspace' );
|
||||
import arrayMinDataType = require( './../../min-dtype' );
|
||||
import arrayNextDataType = require( './../../next-dtype' );
|
||||
import typedarraypool = require( './../../pool' );
|
||||
import arrayPromotionRules = require( './../../promotion-rules' );
|
||||
import reviveTypedArray = require( './../../reviver' );
|
||||
import arraySafeCasts = require( './../../safe-casts' );
|
||||
import arraySameKindCasts = require( './../../same-kind-casts' );
|
||||
import arrayShape = require( './../../shape' );
|
||||
import SharedArrayBuffer = require( './../../shared-buffer' );
|
||||
import circarray2iterator = require( './../../to-circular-iterator' );
|
||||
import array2iterator = require( './../../to-iterator' );
|
||||
import array2iteratorRight = require( './../../to-iterator-right' );
|
||||
import typedarray2json = require( './../../to-json' );
|
||||
import sparsearray2iterator = require( './../../to-sparse-iterator' );
|
||||
import sparsearray2iteratorRight = require( './../../to-sparse-iterator-right' );
|
||||
import stridedarray2iterator = require( './../../to-strided-iterator' );
|
||||
import arrayview2iterator = require( './../../to-view-iterator' );
|
||||
import arrayview2iteratorRight = require( './../../to-view-iterator-right' );
|
||||
import typedarray = require( './../../typed' );
|
||||
import typedarrayComplexCtors = require( './../../typed-complex-ctors' );
|
||||
import typedarrayComplexDataTypes = require( './../../typed-complex-dtypes' );
|
||||
import typedarrayCtors = require( './../../typed-ctors' );
|
||||
import typedarrayDataTypes = require( './../../typed-dtypes' );
|
||||
import Uint8Array = require( './../../uint8' );
|
||||
import Uint8ClampedArray = require( './../../uint8c' );
|
||||
import Uint16Array = require( './../../uint16' );
|
||||
import Uint32Array = require( './../../uint32' );
|
||||
import constants = require( '@stdlib/constants/array' );
|
||||
|
||||
/**
|
||||
* Interface describing the `array` namespace.
|
||||
*/
|
||||
interface Namespace {
|
||||
/**
|
||||
* Constructor which returns an object used to represent a generic, fixed-length raw binary data buffer.
|
||||
*/
|
||||
ArrayBuffer: typeof ArrayBuffer;
|
||||
|
||||
/**
|
||||
* 64-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new ns.Complex64Array();
|
||||
* // returns <ns.Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new ns.Complex64Array( 2 );
|
||||
* // returns <ns.Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new ns.Complex64Array( [ 1.0, -1.0 ] );
|
||||
* // returns <ns.Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new ns.Complex64Array( buf );
|
||||
* // returns <ns.Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new ns.Complex64Array( buf, 8 );
|
||||
* // returns <ns.Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new ns.Complex64Array( buf, 8, 2 );
|
||||
* // returns <ns.Complex64Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
Complex64Array: typeof Complex64Array;
|
||||
|
||||
/**
|
||||
* 128-bit complex number array constructor.
|
||||
*
|
||||
* @param arg - length, typed array, array-like object, or buffer
|
||||
* @param byteOffset - byte offset (default: 0)
|
||||
* @param length - view length
|
||||
* @throws ArrayBuffer byte length must be a multiple of `8`
|
||||
* @throws array-like object and typed array input arguments must have a length which is a multiple of two
|
||||
* @throws if provided only a single argument, must provide a valid argument
|
||||
* @throws byte offset must be a nonnegative integer
|
||||
* @throws byte offset must be a multiple of `8`
|
||||
* @throws view length must be a positive multiple of `8`
|
||||
* @throws must provide sufficient memory to accommodate byte offset and view length requirements
|
||||
* @throws an iterator must return either a two element array containing real and imaginary components or a complex number
|
||||
* @returns complex number array
|
||||
*
|
||||
* @example
|
||||
* var arr = new ns.Complex128Array();
|
||||
* // returns <ns.Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 0
|
||||
*
|
||||
* @example
|
||||
* var arr = new ns.Complex128Array( 2 );
|
||||
* // returns <ns.Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var arr = new ns.Complex128Array( [ 1.0, -1.0 ] );
|
||||
* // returns <ns.Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new ns.Complex128Array( buf );
|
||||
* // returns <ns.Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = new ns.Complex128Array( buf, 8 );
|
||||
* // returns <ns.Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 1
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = new ns.Complex128Array( buf, 8, 2 );
|
||||
* // returns <ns.Complex128Array>
|
||||
*
|
||||
* var len = arr.length;
|
||||
* // returns 2
|
||||
*/
|
||||
Complex128Array: typeof Complex128Array;
|
||||
|
||||
/**
|
||||
* Converts an array to an array of a different data type.
|
||||
*
|
||||
* @param x - array to convert
|
||||
* @param dtype - output data type
|
||||
* @returns output array
|
||||
*
|
||||
* @example
|
||||
* var arr = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
* var out = ns.convertArray( arr, 'float64' );
|
||||
* // returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
*/
|
||||
convertArray: typeof convertArray;
|
||||
|
||||
/**
|
||||
* Converts an array to the same data type as a second input array.
|
||||
*
|
||||
* @param x - array to convert
|
||||
* @param y - array having the desired output data type
|
||||
* @returns output array
|
||||
*
|
||||
* @example
|
||||
* var Float64Array = require( `@stdlib/array/float64` );
|
||||
*
|
||||
* var y = new Float64Array( 0 );
|
||||
*
|
||||
* var x = [ 1.0, 2.0, 3.0, 4.0 ];
|
||||
* var out = ns.convertArraySame( x, y );
|
||||
* // returns <Float64Array>[ 1.0, 2.0, 3.0, 4.0 ]
|
||||
*/
|
||||
convertArraySame: typeof convertArraySame;
|
||||
|
||||
/**
|
||||
* Returns an array constructor.
|
||||
*
|
||||
* @param dtype - data type
|
||||
* @returns constructor or null
|
||||
*
|
||||
* @example
|
||||
* var ctor = ns.arrayCtors( 'float64' );
|
||||
* // returns <Function>
|
||||
*
|
||||
* @example
|
||||
* var ctor = ns.arrayCtors( 'float' );
|
||||
* // returns null
|
||||
*/
|
||||
arrayCtors: typeof arrayCtors;
|
||||
|
||||
/**
|
||||
* Constructor which returns a data view representing a provided array buffer.
|
||||
*/
|
||||
DataView: typeof DataView;
|
||||
|
||||
/**
|
||||
* Generates an array of linearly spaced dates.
|
||||
*
|
||||
* @param start - start time as either a `Date` object, Unix timestamp, JavaScript timestamp, or date string
|
||||
* @param stop - stop time as either a `Date` object, Unix timestamp, JavaScript timestamp, or date string
|
||||
* @param length - output array length (default: 100)
|
||||
* @param options - function options
|
||||
* @param options.round - specifies how sub-millisecond times should be rounded: [ 'floor', 'ceil', 'round' ] (default: 'floor' )
|
||||
* @throws length argument must a positive integer
|
||||
* @throws must provide valid options
|
||||
* @returns array of dates
|
||||
*
|
||||
* @example
|
||||
* var stop = '2014-12-02T07:00:54.973Z';
|
||||
* var start = new Date( stop ) - 60000;
|
||||
*
|
||||
* var arr = ns.datespace( start, stop, 6 );
|
||||
* // returns [...]
|
||||
*
|
||||
* @example
|
||||
* // Equivalent of Math.ceil():
|
||||
* var arr = ns.datespace( 1417503655000, 1417503655001, 3, { 'round': 'ceil' } );
|
||||
* // returns [...]
|
||||
*
|
||||
* // Equivalent of Math.round():
|
||||
* var arr = ns.datespace( 1417503655000, 1417503655001, 3, { 'round': 'round' } );
|
||||
* // returns [...]
|
||||
*/
|
||||
datespace: typeof datespace;
|
||||
|
||||
/**
|
||||
* Returns the data type of an array.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - If provided an argument having an unknown or unsupported type, the function returns `null`.
|
||||
*
|
||||
* @param value - input value
|
||||
* @returns data type
|
||||
*
|
||||
* @example
|
||||
* var dt = ns.arrayDataType( [ 1, 2, 3 ] );
|
||||
* // returns 'generic'
|
||||
*
|
||||
* var dt = ns.arrayDataType( 'beep' );
|
||||
* // returns null
|
||||
*/
|
||||
arrayDataType: typeof arrayDataType;
|
||||
|
||||
/**
|
||||
* Returns a list of array data types.
|
||||
*
|
||||
* @returns list of array data types
|
||||
*
|
||||
* @example
|
||||
* var list = ns.arrayDataTypes();
|
||||
* // returns [ 'float32', 'float64', 'generic', 'int16', 'int32', 'int8', 'uint16', 'uint32', 'uint8', 'uint8c' ]
|
||||
*/
|
||||
arrayDataTypes: typeof arrayDataTypes;
|
||||
|
||||
/**
|
||||
* Returns a filled typed array view of an `ArrayBuffer`.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - Creating a generic array from an `ArrayBuffer` is **not** supported.
|
||||
*
|
||||
* @param value - fill value
|
||||
* @param buffer - `ArrayBuffer`
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @throws must provide a recognized data type
|
||||
* @returns filled array
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = ns.filledarray( 1.0, buf );
|
||||
* // returns <Float64Array>[ 1.0, 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = ns.filledarray( 1.0, buf, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
*/
|
||||
filledarray: typeof filledarray;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.
|
||||
*/
|
||||
Float32Array: typeof Float32Array;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of double-precision floating-point numbers in the platform byte order.
|
||||
*/
|
||||
Float64Array: typeof Float64Array;
|
||||
|
||||
/**
|
||||
* Creates (or fills) an array from an iterator.
|
||||
*
|
||||
* @param iterator - source iterator
|
||||
* @param out - output array
|
||||
* @param mapFcn - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @returns output array
|
||||
*
|
||||
* @example
|
||||
* var Float64Array = require( `@stdlib/array/float64` );
|
||||
* var randu = require( `@stdlib/random/iter/randu` );
|
||||
*
|
||||
* var iter = randu({
|
||||
* 'iter': 10
|
||||
* });
|
||||
*
|
||||
* var out = new Float64Array( 10 );
|
||||
* var arr = ns.iterator2array( iter, out );
|
||||
* // returns <Array>
|
||||
*/
|
||||
iterator2array: typeof iterator2array;
|
||||
|
||||
/**
|
||||
* Generates a linearly spaced numeric array using a provided increment.
|
||||
*
|
||||
* @param x1 - first array value
|
||||
* @param x2 - array element bound
|
||||
* @param increment - increment (default: 1)
|
||||
* @throws length of created array must be less than `4294967295` (`2**32 - 1`)
|
||||
* @returns linearly spaced numeric array
|
||||
*
|
||||
* @example
|
||||
* var arr = ns.incrspace( 0, 11, 2 );
|
||||
* // returns [ 0, 2, 4, 6, 8, 10 ]
|
||||
*/
|
||||
incrspace: typeof incrspace;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of twos-complement 8-bit signed integers in the platform byte order.
|
||||
*/
|
||||
Int8Array: typeof Int8Array;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of twos-complement 16-bit signed integers in the platform byte order.
|
||||
*/
|
||||
Int16Array: typeof Int16Array;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of twos-complement 32-bit signed integers in the platform byte order.
|
||||
*/
|
||||
Int32Array: typeof Int32Array;
|
||||
|
||||
/**
|
||||
* Generates a linearly spaced numeric array.
|
||||
*
|
||||
* @param x1 - first array value
|
||||
* @param x2 - last array value
|
||||
* @param len - length of output array (default: 100)
|
||||
* @throws third argument must be a nonnegative integer
|
||||
* @returns linearly spaced numeric array
|
||||
*
|
||||
* @example
|
||||
* var arr = ns.linspace( 0, 100, 6 );
|
||||
* // returns [ 0, 20, 40, 60, 80, 100 ]
|
||||
*/
|
||||
linspace: typeof linspace;
|
||||
|
||||
/**
|
||||
* Generates a logarithmically spaced numeric array.
|
||||
*
|
||||
* @param a - exponent of start value
|
||||
* @param b - exponent of end value
|
||||
* @param len - length of output array (default: 10)
|
||||
* @throws third argument must be a nonnegative integer
|
||||
* @returns logarithmically spaced numeric array
|
||||
*
|
||||
* @example
|
||||
* var arr = ns.logspace( 0, 2, 6 );
|
||||
* // returns [ 1, ~2.5, ~6.31, ~15.85, ~39.81, 100 ]
|
||||
*/
|
||||
logspace: typeof logspace;
|
||||
|
||||
/**
|
||||
* Returns the minimum array data type of the closest "kind" necessary for storing a provided scalar value.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - The function does *not* provide precision guarantees for non-integer-valued real numbers. In other words, the function returns the smallest possible floating-point (i.e., inexact) data type for storing numbers having decimals.
|
||||
*
|
||||
* @param value - scalar value
|
||||
* @returns array data type
|
||||
*
|
||||
* @example
|
||||
* var dt = ns.arrayMinDataType( 3.141592653589793 );
|
||||
* // returns 'float32'
|
||||
*
|
||||
* @example
|
||||
* var dt = ns.arrayMinDataType( 3 );
|
||||
* // returns 'uint8'
|
||||
*/
|
||||
arrayMinDataType: typeof arrayMinDataType;
|
||||
|
||||
/**
|
||||
* Returns the next larger array data type of the same kind.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - If not provided a data type, the function returns a table.
|
||||
* - If a data type does not have a next larger data type or the next larger type is not supported, the function returns `-1`.
|
||||
* - If provided an unrecognized data type, the function returns `null`.
|
||||
*
|
||||
* @param dtype - array data type
|
||||
* @returns next larger data type(s) or null
|
||||
*
|
||||
* @example
|
||||
* var dt = ns.arrayNextDataType( 'float32' );
|
||||
* // returns 'float64'
|
||||
*/
|
||||
arrayNextDataType: typeof arrayNextDataType;
|
||||
|
||||
/**
|
||||
* Returns an uninitialized typed array.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - Memory is **not** initialized.
|
||||
* - Memory is lazily allocated.
|
||||
* - If the function returns `null`, the function was unable to allocate a new typed array from the typed array pool (most likely due to insufficient memory).
|
||||
*
|
||||
* @param arg - an array length or an array-like object
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @returns typed array or null
|
||||
*
|
||||
* @example
|
||||
* // Allocate an array of doubles:
|
||||
* var arr = ns.typedarraypool( 5, 'float64' );
|
||||
* // e.g., returns <Float64Array>[ 0.0, 0.0, 0.0, 0.0, 0.0 ]
|
||||
*
|
||||
* arr[ 0 ] = 3.14;
|
||||
* arr[ 1 ] = 3.14;
|
||||
*
|
||||
* // ...
|
||||
*
|
||||
* // Free the allocated memory to be used in a future allocation:
|
||||
* ns.typedarraypool.free( arr );
|
||||
*/
|
||||
typedarraypool: typeof typedarraypool;
|
||||
|
||||
/**
|
||||
* Returns a type promotion table displaying array data types with the smallest size and closest "kind" to which array data types can be safely cast.
|
||||
*
|
||||
* @returns promotion rule table
|
||||
*
|
||||
* @example
|
||||
* var table = ns.arrayPromotionRules();
|
||||
* // returns {...}
|
||||
*/
|
||||
arrayPromotionRules: typeof arrayPromotionRules;
|
||||
|
||||
/**
|
||||
* Revives a JSON-serialized typed array.
|
||||
*
|
||||
* @param key - key
|
||||
* @param value - value
|
||||
* @returns value or typed array
|
||||
*
|
||||
* @example
|
||||
* var parseJSON = require( `@stdlib/utils/parse-json` );
|
||||
*
|
||||
* var str = '{"type":"Float64Array","data":[5,3]}';
|
||||
*
|
||||
* var arr = parseJSON( str, ns.reviveTypedArray );
|
||||
* // returns <Float64Array>[ 5.0, 3.0 ]
|
||||
*/
|
||||
reviveTypedArray: typeof reviveTypedArray;
|
||||
|
||||
/**
|
||||
* Returns a list of array data types to which a provided array data type can be safely cast.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - If not provided an array data type, the function returns a casting table.
|
||||
* - If provided an unrecognized array data type, the function returns `null`.
|
||||
*
|
||||
* @param dtype - array data type
|
||||
* @returns list of array data types or null
|
||||
*
|
||||
* @example
|
||||
* var list = ns.arraySafeCasts( 'float32' );
|
||||
* // returns [...]
|
||||
*/
|
||||
arraySafeCasts: typeof arraySafeCasts;
|
||||
|
||||
/**
|
||||
* Returns a list of array data types to which a provided array data type can be safely cast or cast within the same "kind".
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - If not provided an array data type, the function returns a casting table.
|
||||
* - If provided an unrecognized array data type, the function returns `null`.
|
||||
*
|
||||
* @param dtype - array data type
|
||||
* @returns list of array data types or null
|
||||
*
|
||||
* @example
|
||||
* var list = ns.arraySameKindCasts( 'float32' );
|
||||
* // returns [...]
|
||||
*/
|
||||
arraySameKindCasts: typeof arraySameKindCasts;
|
||||
|
||||
/**
|
||||
* Determines (nested) array dimensions.
|
||||
*
|
||||
* @param arr - array
|
||||
* @returns array shape
|
||||
*
|
||||
* @example
|
||||
* var arr = [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ];
|
||||
*
|
||||
* var shape = ns.arrayShape( arr );
|
||||
* // returns [ 3, 3 ]
|
||||
*
|
||||
* @example
|
||||
* var arr = [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ] ];
|
||||
*
|
||||
* var shape = ns.arrayShape( arr );
|
||||
* // returns [ 3 ]
|
||||
*
|
||||
* @example
|
||||
* var arr = [ [ 1, 2, 3 ], [ 4, 5, 6 ], null ];
|
||||
*
|
||||
* var shape = ns.arrayShape( arr );
|
||||
* // returns [ 3 ]
|
||||
*/
|
||||
arrayShape: typeof arrayShape;
|
||||
|
||||
/**
|
||||
* Constructor returning an object used to represent a generic, fixed-length raw binary data buffer which can be used to create views of shared memory.
|
||||
*/
|
||||
SharedArrayBuffer: typeof SharedArrayBuffer;
|
||||
|
||||
/**
|
||||
* Returns an iterator which repeatedly iterates over each element in an array-like object.
|
||||
*
|
||||
* @param src - input value
|
||||
* @param options - function options
|
||||
* @param options.iter - number of iterations
|
||||
* @param options.dir - iteration direction
|
||||
* @param mapFcn - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @throws must provide valid options
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var opts = {
|
||||
* 'dir': -1
|
||||
* };
|
||||
* var it = ns.circarray2iterator( [ 1, 2, 3, 4 ], opts );
|
||||
* // returns <Object>
|
||||
*
|
||||
* var v = it.next().value;
|
||||
* // returns 4
|
||||
*
|
||||
* v = it.next().value;
|
||||
* // returns 3
|
||||
*
|
||||
* v = it.next().value;
|
||||
* // returns 2
|
||||
*/
|
||||
circarray2iterator: typeof circarray2iterator;
|
||||
|
||||
/**
|
||||
* Returns an iterator which iterates over each element in an array-like object.
|
||||
*
|
||||
* @param src - input value
|
||||
* @param mapFc - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var iter = ns.array2iterator( [ 1, 2, 3, 4 ] );
|
||||
*
|
||||
* var v = iter.next().value;
|
||||
* // returns 1
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 2
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 3
|
||||
*
|
||||
* // ...
|
||||
*/
|
||||
array2iterator: typeof array2iterator;
|
||||
|
||||
/**
|
||||
* Returns an iterator which iterates from right to left over each element in an array-like object.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - For dynamic array resizing, the only behavior made intentionally consistent with iterating from left to right is when elements are pushed onto the beginning (end) of an array. In other words, iterating from left to right combined with `[].push()` is consistent with iterating from right to left combined with `[].unshift()`.
|
||||
*
|
||||
* @param src - input value
|
||||
* @param mapFcn - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var iter = ns.array2iteratorRight( [ 1, 2, 3, 4 ] );
|
||||
*
|
||||
* var v = iter.next().value;
|
||||
* // returns 4
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 3
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 2
|
||||
*
|
||||
* // ...
|
||||
*/
|
||||
array2iteratorRight: typeof array2iteratorRight;
|
||||
|
||||
/**
|
||||
* Returns a JSON representation of a typed array.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - We build a JSON object representing a typed array similar to how Node.js `Buffer` objects are represented. See [Buffer][1].
|
||||
*
|
||||
* [1]: https://nodejs.org/api/buffer.html#buffer_buf_tojson
|
||||
*
|
||||
* @param arr - typed array to serialize
|
||||
* @returns JSON representation
|
||||
*
|
||||
* @example
|
||||
* var Float64Array = require( `@stdlib/array/float64` );
|
||||
*
|
||||
* var arr = new Float64Array( [ 5.0, 3.0 ] );
|
||||
* var json = ns.typedarray2json( arr );
|
||||
* // returns { 'type': 'Float64Array', 'data': [ 5.0, 3.0 ] }
|
||||
*/
|
||||
typedarray2json: typeof typedarray2json;
|
||||
|
||||
/**
|
||||
* Returns an iterator which iterates over each element in a sparse array-like object.
|
||||
*
|
||||
* @param src - input value
|
||||
* @param mapFcn - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var iter = ns.sparsearray2iterator( [ 1, , 3, 4 ] );
|
||||
*
|
||||
* var v = iter.next().value;
|
||||
* // returns 1
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 3
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 4
|
||||
*/
|
||||
sparsearray2iterator: typeof sparsearray2iterator;
|
||||
|
||||
/**
|
||||
* Returns an iterator which iterates from right to left over each element in a sparse array-like object.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - For dynamic array resizing, the only behavior made intentionally consistent with iterating from left to right is when elements are pushed onto the beginning (end) of an array. In other words, iterating from left to right combined with `[].push()` is consistent with iterating from right to left combined with `[].unshift()`.
|
||||
*
|
||||
* @param src - input value
|
||||
* @param mapFcn - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var iter = ns.sparsearray2iteratorRight( [ 1, , 3, 4 ] );
|
||||
*
|
||||
* var v = iter.next().value;
|
||||
* // returns 4
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 3
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 1
|
||||
*/
|
||||
sparsearray2iteratorRight: typeof sparsearray2iteratorRight;
|
||||
|
||||
/**
|
||||
* Returns an iterator which iterates over elements in an array-like object according to specified stride parameters.
|
||||
*
|
||||
* @param N - number of values to iterate
|
||||
* @param src - input value
|
||||
* @param stride - stride length
|
||||
* @param offset - starting index
|
||||
* @param mapFcn - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @throws first argument must be a nonnegative integer
|
||||
* @throws third argument must be an integer
|
||||
* @throws fourth argument must be a nonnegative integer
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var values = [ 1, 2, 3, 4, 5, 6, 7, 8 ];
|
||||
*
|
||||
* var N = 4;
|
||||
* var stride = -2;
|
||||
* var offset = 6;
|
||||
*
|
||||
* var iter = ns.stridedarray2iterator( N, values, stride, offset );
|
||||
*
|
||||
* var v = iter.next().value;
|
||||
* // returns 7
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 5
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 3
|
||||
*
|
||||
* // ...
|
||||
*/
|
||||
stridedarray2iterator: typeof stridedarray2iterator;
|
||||
|
||||
/**
|
||||
* Returns an iterator which iterates over each element in an array-like object view.
|
||||
*
|
||||
* @param src - input value
|
||||
* @param begin - starting index (inclusive) (default: 0)
|
||||
* @param end - ending index (non-inclusive) (default: src.length)
|
||||
* @param mapFcn - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var iter = ns.arrayview2iterator( [ 1, 2, 3, 4 ], 1, 3 );
|
||||
*
|
||||
* var v = iter.next().value;
|
||||
* // returns 2
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 3
|
||||
*
|
||||
* var bool = iter.next().done;
|
||||
* // returns true
|
||||
*/
|
||||
arrayview2iterator: typeof arrayview2iterator;
|
||||
|
||||
/**
|
||||
* Returns an iterator which iterates from right to left over each element in an array-like object view.
|
||||
*
|
||||
* @param src - input value
|
||||
* @param begin - starting **view** index (inclusive) (default: 0)
|
||||
* @param end - ending **view** index (non-inclusive) (default: src.length)
|
||||
* @param mapFcn - function to invoke for each iterated value
|
||||
* @param thisArg - execution context
|
||||
* @returns iterator
|
||||
*
|
||||
* @example
|
||||
* var iter = ns.arrayview2iteratorRight( [ 1, 2, 3, 4 ], 1, 3 );
|
||||
*
|
||||
* var v = iter.next().value;
|
||||
* // returns 3
|
||||
*
|
||||
* v = iter.next().value;
|
||||
* // returns 2
|
||||
*
|
||||
* var bool = iter.next().done;
|
||||
* // returns true
|
||||
*/
|
||||
arrayview2iteratorRight: typeof arrayview2iteratorRight;
|
||||
|
||||
/**
|
||||
* Creates a typed array.
|
||||
*
|
||||
* @param buffer - underlying ArrayBuffer
|
||||
* @param byteOffset - integer byte offset specifying the location of the first typed array element (default: 0)
|
||||
* @param length - view length; if not provided, the view spans from the byteOffset to the end of the underlying ArrayBuffer
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @returns typed array
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = ns.typedarray( buf, 8, 2 );
|
||||
* // returns <Float64Array>[ 0.0, 0.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = ns.typedarray( buf, 8, 2, 'int32' );
|
||||
* // returns <Int32Array>[ 0, 0 ]
|
||||
*/
|
||||
typedarray: typeof typedarray;
|
||||
|
||||
/**
|
||||
* Returns a complex typed array constructor.
|
||||
*
|
||||
* @param dtype - data type
|
||||
* @returns constructor or null
|
||||
*
|
||||
* @example
|
||||
* var ctor = ns.typedarrayComplexCtors( 'complex128' );
|
||||
* // returns <Function>
|
||||
*
|
||||
* @example
|
||||
* var ctor = ns.typedarrayComplexCtors( 'float64' );
|
||||
* // returns null
|
||||
*/
|
||||
typedarrayComplexCtors: typeof typedarrayComplexCtors;
|
||||
|
||||
/**
|
||||
* Returns a list of complex typed array data types.
|
||||
*
|
||||
* @returns list of complex typed array data types
|
||||
*
|
||||
* @example
|
||||
* var list = ns.typedarrayComplexDataTypes();
|
||||
* // returns [ 'complex64', 'complex128' ]
|
||||
*/
|
||||
typedarrayComplexDataTypes: typeof typedarrayComplexDataTypes;
|
||||
|
||||
/**
|
||||
* Returns a typed array constructor.
|
||||
*
|
||||
* @param dtype - data type
|
||||
* @returns constructor or null
|
||||
*
|
||||
* @example
|
||||
* var ctor = ns.typedarrayCtors( 'float64' );
|
||||
* // returns <Function>
|
||||
*
|
||||
* @example
|
||||
* var ctor = ns.typedarrayCtors( 'float' );
|
||||
* // returns null
|
||||
*/
|
||||
typedarrayCtors: typeof typedarrayCtors;
|
||||
|
||||
/**
|
||||
* Returns a list of typed array data types.
|
||||
*
|
||||
* @returns list of typed array data types
|
||||
*
|
||||
* @example
|
||||
* var list = ns.typedarrayDataTypes();
|
||||
* // returns [ 'float32', 'float64', 'int16', 'int32', 'int8', 'uint16', 'uint32', 'uint8', 'uint8c' ]
|
||||
*/
|
||||
typedarrayDataTypes: typeof typedarrayDataTypes;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of 8-bit unsigned integers in the platform byte order.
|
||||
*/
|
||||
Uint8Array: typeof Uint8Array;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of 8-bit unsigned integers in the platform byte order clamped to 0-255.
|
||||
*/
|
||||
Uint8ClampedArray: typeof Uint8ClampedArray;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of 16-bit unsigned integers in the platform byte order.
|
||||
*/
|
||||
Uint16Array: typeof Uint16Array;
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of 32-bit unsigned integers in the platform byte order.
|
||||
*/
|
||||
Uint32Array: typeof Uint32Array;
|
||||
|
||||
/**
|
||||
* Array constants.
|
||||
*/
|
||||
constants: typeof constants;
|
||||
}
|
||||
|
||||
/**
|
||||
* Arrays.
|
||||
*/
|
||||
declare var ns: Namespace;
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = ns;
|
29
js/node_modules/@stdlib/array/docs/types/test.ts
generated
vendored
Normal file
29
js/node_modules/@stdlib/array/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* tslint:disable:no-unused-expression */
|
||||
|
||||
import array = require( './index' );
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The exported value is the expected interface...
|
||||
{
|
||||
array; // $ExpectType Namespace
|
||||
}
|
131
js/node_modules/@stdlib/array/dtype/README.md
generated
vendored
Normal file
131
js/node_modules/@stdlib/array/dtype/README.md
generated
vendored
Normal file
|
@ -0,0 +1,131 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2018 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Data Type
|
||||
|
||||
> Return the data type of an array.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var dtype = require( '@stdlib/array/dtype' );
|
||||
```
|
||||
|
||||
#### dtype( array )
|
||||
|
||||
Returns the [data type][@stdlib/array/dtypes] of an `array`.
|
||||
|
||||
```javascript
|
||||
var Float64Array = require( '@stdlib/array/float64' );
|
||||
var arr = new Float64Array( 10 );
|
||||
|
||||
var dt = dtype( arr );
|
||||
// returns 'float64'
|
||||
```
|
||||
|
||||
If provided an argument having an unknown or unsupported [data type][@stdlib/array/dtypes], the function returns `null`.
|
||||
|
||||
```javascript
|
||||
var dt = dtype( 'beep' );
|
||||
// returns null
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint-disable stdlib/new-cap-error -->
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var dtypes = require( '@stdlib/array/dtypes' );
|
||||
var ctors = require( '@stdlib/array/ctors' );
|
||||
var dtype = require( '@stdlib/array/dtype' );
|
||||
|
||||
var DTYPES;
|
||||
var ctor;
|
||||
var arr;
|
||||
var len;
|
||||
var dt;
|
||||
var i;
|
||||
|
||||
// Get a list of supported array data types:
|
||||
DTYPES = dtypes();
|
||||
|
||||
// Array length:
|
||||
len = 10;
|
||||
|
||||
// For each supported data type, create an array and confirm its data type...
|
||||
for ( i = 0; i < DTYPES.length; i++ ) {
|
||||
ctor = ctors( DTYPES[ i ] );
|
||||
arr = new ctor( len );
|
||||
dt = dtype( arr );
|
||||
console.log( '%s == %s => %s', DTYPES[ i ], dt, DTYPES[ i ] === dt );
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
[@stdlib/array/dtypes]: https://www.npmjs.com/package/@stdlib/array/tree/main/dtypes
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
28
js/node_modules/@stdlib/array/dtype/docs/repl.txt
generated
vendored
Normal file
28
js/node_modules/@stdlib/array/dtype/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
|
||||
{{alias}}( array )
|
||||
Returns the data type of an array.
|
||||
|
||||
If provided an argument having an unknown or unsupported type, the function
|
||||
returns `null`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
array: any
|
||||
Input value.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: string|null
|
||||
Data type.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias:@stdlib/array/float64}}( 10 );
|
||||
> var dt = {{alias}}( arr )
|
||||
'float64'
|
||||
> dt = {{alias}}( 'beep' )
|
||||
null
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
47
js/node_modules/@stdlib/array/dtype/docs/types/index.d.ts
generated
vendored
Normal file
47
js/node_modules/@stdlib/array/dtype/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/// <reference types="@stdlib/types"/>
|
||||
|
||||
import { TypedArray } from '@stdlib/types/array';
|
||||
|
||||
/**
|
||||
* Returns the data type of an array.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - If provided an argument having an unknown or unsupported type, the function returns `null`.
|
||||
*
|
||||
* @param value - input value
|
||||
* @returns data type
|
||||
*
|
||||
* @example
|
||||
* var dt = dtype( [ 1, 2, 3 ] );
|
||||
* // returns 'generic'
|
||||
*
|
||||
* var dt = dtype( 'beep' );
|
||||
* // returns null
|
||||
*/
|
||||
declare function dtype( value: TypedArray | Array<any> ): string | null;
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = dtype;
|
34
js/node_modules/@stdlib/array/dtype/docs/types/test.ts
generated
vendored
Normal file
34
js/node_modules/@stdlib/array/dtype/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import dtype = require( './index' );
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns a string or null..
|
||||
{
|
||||
const x = new Float64Array( 10 );
|
||||
|
||||
dtype( x ); // $ExpectType string | null
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided an unsupported number of arguments...
|
||||
{
|
||||
dtype(); // $ExpectError
|
||||
dtype( [ 1, 2, 3 ], 3 ); // $ExpectError
|
||||
}
|
40
js/node_modules/@stdlib/array/dtype/lib/ctor2dtype.js
generated
vendored
Normal file
40
js/node_modules/@stdlib/array/dtype/lib/ctor2dtype.js
generated
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MAIN //
|
||||
|
||||
// Mapping from array constructors to data types...
|
||||
var ctor2dtypes = {
|
||||
'Float32Array': 'float32',
|
||||
'Float64Array': 'float64',
|
||||
'Array': 'generic',
|
||||
'Int16Array': 'int16',
|
||||
'Int32Array': 'int32',
|
||||
'Int8Array': 'int8',
|
||||
'Uint16Array': 'uint16',
|
||||
'Uint32Array': 'uint32',
|
||||
'Uint8Array': 'uint8',
|
||||
'Uint8ClampedArray': 'uint8c'
|
||||
};
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctor2dtypes;
|
52
js/node_modules/@stdlib/array/dtype/lib/ctors.js
generated
vendored
Normal file
52
js/node_modules/@stdlib/array/dtype/lib/ctors.js
generated
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var Float64Array = require( './../../float64' );
|
||||
var Float32Array = require( './../../float32' );
|
||||
var Uint32Array = require( './../../uint32' );
|
||||
var Int32Array = require( './../../int32' );
|
||||
var Uint16Array = require( './../../uint16' );
|
||||
var Int16Array = require( './../../int16' );
|
||||
var Uint8Array = require( './../../uint8' );
|
||||
var Uint8ClampedArray = require( './../../uint8c' );
|
||||
var Int8Array = require( './../../int8' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
// Note: order should match `dtypes` order
|
||||
var CTORS = [
|
||||
Float64Array,
|
||||
Float32Array,
|
||||
Int32Array,
|
||||
Uint32Array,
|
||||
Int16Array,
|
||||
Uint16Array,
|
||||
Int8Array,
|
||||
Uint8Array,
|
||||
Uint8ClampedArray
|
||||
];
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = CTORS;
|
39
js/node_modules/@stdlib/array/dtype/lib/dtypes.js
generated
vendored
Normal file
39
js/node_modules/@stdlib/array/dtype/lib/dtypes.js
generated
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MAIN //
|
||||
|
||||
// Note: order should match `ctors` order
|
||||
var DTYPES = [
|
||||
'float64',
|
||||
'float32',
|
||||
'int32',
|
||||
'uint32',
|
||||
'int16',
|
||||
'uint16',
|
||||
'int8',
|
||||
'uint8',
|
||||
'uint8c'
|
||||
];
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = DTYPES;
|
49
js/node_modules/@stdlib/array/dtype/lib/index.js
generated
vendored
Normal file
49
js/node_modules/@stdlib/array/dtype/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Return the data type of an array.
|
||||
*
|
||||
* @module @stdlib/array/dtype
|
||||
*
|
||||
* @example
|
||||
* var Float64Array = require( '@stdlib/array/float64' );
|
||||
* var dtype = require( '@stdlib/array/dtype' );
|
||||
*
|
||||
* var arr = new Float64Array( 10 );
|
||||
*
|
||||
* var dt = dtype( arr );
|
||||
* // returns 'float64'
|
||||
*
|
||||
* dt = dtype( {} );
|
||||
* // returns null
|
||||
*
|
||||
* dt = dtype( 'beep' );
|
||||
* // returns null
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var dtype = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = dtype;
|
71
js/node_modules/@stdlib/array/dtype/lib/main.js
generated
vendored
Normal file
71
js/node_modules/@stdlib/array/dtype/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isBuffer = require( '@stdlib/assert/is-buffer' );
|
||||
var isArray = require( '@stdlib/assert/is-array' );
|
||||
var constructorName = require( '@stdlib/utils/constructor-name' );
|
||||
var ctor2dtype = require( './ctor2dtype.js' );
|
||||
var CTORS = require( './ctors.js' );
|
||||
var DTYPES = require( './dtypes.js' );
|
||||
|
||||
|
||||
// VARIABLES //
|
||||
|
||||
var NTYPES = DTYPES.length;
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns the data type of an array.
|
||||
*
|
||||
* @param {*} value - input value
|
||||
* @returns {(string|null)} data type
|
||||
*
|
||||
* @example
|
||||
* var dt = dtype( [ 1, 2, 3 ] );
|
||||
* // returns 'generic'
|
||||
*
|
||||
* var dt = dtype( 'beep' );
|
||||
* // returns null
|
||||
*/
|
||||
function dtype( value ) {
|
||||
var i;
|
||||
if ( isArray( value ) ) {
|
||||
return 'generic';
|
||||
}
|
||||
if ( isBuffer( value ) ) {
|
||||
return null;
|
||||
}
|
||||
for ( i = 0; i < NTYPES; i++ ) {
|
||||
if ( value instanceof CTORS[ i ] ) {
|
||||
return DTYPES[ i ];
|
||||
}
|
||||
}
|
||||
// If the above failed, fall back to a more robust (and significantly slower) means for resolving underlying data types:
|
||||
return ctor2dtype[ constructorName( value ) ] || null;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = dtype;
|
66
js/node_modules/@stdlib/array/dtype/package.json
generated
vendored
Normal file
66
js/node_modules/@stdlib/array/dtype/package.json
generated
vendored
Normal file
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
"name": "@stdlib/array/dtype",
|
||||
"version": "0.0.0",
|
||||
"description": "Return the data type of an array.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"array",
|
||||
"dtypes",
|
||||
"dtype",
|
||||
"data",
|
||||
"type",
|
||||
"utilities",
|
||||
"utility",
|
||||
"utils",
|
||||
"util"
|
||||
],
|
||||
"__stdlib__": {}
|
||||
}
|
130
js/node_modules/@stdlib/array/dtypes/README.md
generated
vendored
Normal file
130
js/node_modules/@stdlib/array/dtypes/README.md
generated
vendored
Normal file
|
@ -0,0 +1,130 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2018 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Data Types
|
||||
|
||||
> List of array data types.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var dtypes = require( '@stdlib/array/dtypes' );
|
||||
```
|
||||
|
||||
#### dtypes()
|
||||
|
||||
Returns a list of array data types.
|
||||
|
||||
```javascript
|
||||
var out = dtypes();
|
||||
// returns [ 'float32', 'float64', 'generic', 'int16', 'int32', 'int8', 'uint16', 'uint32', 'uint8', 'uint8c' ]
|
||||
```
|
||||
|
||||
The output `array` contains the following data types:
|
||||
|
||||
- `float32`: single-precision floating-point numbers.
|
||||
- `float64`: double-precision floating-point numbers.
|
||||
- `generic`: values of any type.
|
||||
- `int16`: signed 16-bit integers.
|
||||
- `int32`: signed 32-bit integers.
|
||||
- `int8`: signed 8-bit integers.
|
||||
- `uint16`: unsigned 16-bit integers.
|
||||
- `uint32`: unsigned 32-bit integers.
|
||||
- `uint8`: unsigned 8-bit integers.
|
||||
- `uint8c`: unsigned clamped 8-bit integers.
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var indexOf = require( '@stdlib/utils/index-of' );
|
||||
var dtypes = require( '@stdlib/array/dtypes' );
|
||||
|
||||
var DTYPES = dtypes();
|
||||
var bool;
|
||||
|
||||
function isdtype( str ) {
|
||||
if ( indexOf( DTYPES, str ) === -1 ) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool = isdtype( 'float64' );
|
||||
// returns true
|
||||
|
||||
bool = isdtype( 'int16' );
|
||||
// returns true
|
||||
|
||||
bool = isdtype( 'uint8' );
|
||||
// returns true
|
||||
|
||||
bool = isdtype( 'beep' );
|
||||
// returns false
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
30
js/node_modules/@stdlib/array/dtypes/docs/repl.txt
generated
vendored
Normal file
30
js/node_modules/@stdlib/array/dtypes/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
|
||||
{{alias}}()
|
||||
Returns a list of array data types.
|
||||
|
||||
The output array contains the following data types:
|
||||
|
||||
- float32: single-precision floating-point numbers.
|
||||
- float64: double-precision floating-point numbers.
|
||||
- generic: values of any type.
|
||||
- int16: signed 16-bit integers.
|
||||
- int32: signed 32-bit integers.
|
||||
- int8: signed 8-bit integers.
|
||||
- uint16: unsigned 16-bit integers.
|
||||
- uint32: unsigned 32-bit integers.
|
||||
- uint8: unsigned 8-bit integers.
|
||||
- uint8c: unsigned clamped 8-bit integers.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Array<string>
|
||||
List of array data types.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var out = {{alias}}()
|
||||
<Array>
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
35
js/node_modules/@stdlib/array/dtypes/docs/types/index.d.ts
generated
vendored
Normal file
35
js/node_modules/@stdlib/array/dtypes/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/**
|
||||
* Returns a list of array data types.
|
||||
*
|
||||
* @returns list of array data types
|
||||
*
|
||||
* @example
|
||||
* var list = dtypes();
|
||||
* // returns [ 'float32', 'float64', 'generic', 'int16', 'int32', 'int8', 'uint16', 'uint32', 'uint8', 'uint8c' ]
|
||||
*/
|
||||
declare function dtypes(): Array<string>;
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = dtypes;
|
32
js/node_modules/@stdlib/array/dtypes/docs/types/test.ts
generated
vendored
Normal file
32
js/node_modules/@stdlib/array/dtypes/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import dtypes = require( './index' );
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns a string array..
|
||||
{
|
||||
dtypes(); // $ExpectType string[]
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided arguments...
|
||||
{
|
||||
dtypes( 1 ); // $ExpectError
|
||||
dtypes( 1, 2 ); // $ExpectError
|
||||
}
|
12
js/node_modules/@stdlib/array/dtypes/lib/dtypes.json
generated
vendored
Normal file
12
js/node_modules/@stdlib/array/dtypes/lib/dtypes.json
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
[
|
||||
"float32",
|
||||
"float64",
|
||||
"generic",
|
||||
"int16",
|
||||
"int32",
|
||||
"int8",
|
||||
"uint16",
|
||||
"uint32",
|
||||
"uint8",
|
||||
"uint8c"
|
||||
]
|
40
js/node_modules/@stdlib/array/dtypes/lib/index.js
generated
vendored
Normal file
40
js/node_modules/@stdlib/array/dtypes/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Return a list of array data types.
|
||||
*
|
||||
* @module @stdlib/array/dtypes
|
||||
*
|
||||
* @example
|
||||
* var dtypes = require( '@stdlib/array/dtypes' );
|
||||
*
|
||||
* var list = dtypes();
|
||||
* // returns [ 'float32', 'float64', 'generic', 'int16', 'int32', 'int8', 'uint16', 'uint32', 'uint8', 'uint8c' ]
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var dtypes = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = dtypes;
|
44
js/node_modules/@stdlib/array/dtypes/lib/main.js
generated
vendored
Normal file
44
js/node_modules/@stdlib/array/dtypes/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var DTYPES = require( './dtypes.json' );
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Returns a list of array data types.
|
||||
*
|
||||
* @returns {StringArray} list of array data types
|
||||
*
|
||||
* @example
|
||||
* var list = dtypes();
|
||||
* // returns [ 'float32', 'float64', 'generic', 'int16', 'int32', 'int8', 'uint16', 'uint32', 'uint8', 'uint8c' ]
|
||||
*/
|
||||
function dtypes() {
|
||||
return DTYPES.slice();
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = dtypes;
|
67
js/node_modules/@stdlib/array/dtypes/package.json
generated
vendored
Normal file
67
js/node_modules/@stdlib/array/dtypes/package.json
generated
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"name": "@stdlib/array/dtypes",
|
||||
"version": "0.0.0",
|
||||
"description": "List of array data types.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"typed",
|
||||
"array",
|
||||
"dtypes",
|
||||
"dtype",
|
||||
"data",
|
||||
"type",
|
||||
"utilities",
|
||||
"utility",
|
||||
"utils",
|
||||
"util"
|
||||
],
|
||||
"__stdlib__": {}
|
||||
}
|
223
js/node_modules/@stdlib/array/filled/README.md
generated
vendored
Normal file
223
js/node_modules/@stdlib/array/filled/README.md
generated
vendored
Normal file
|
@ -0,0 +1,223 @@
|
|||
<!--
|
||||
|
||||
@license Apache-2.0
|
||||
|
||||
Copyright (c) 2020 The Stdlib Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
# Filled Array
|
||||
|
||||
> Create a filled array.
|
||||
|
||||
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="intro">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.intro -->
|
||||
|
||||
<!-- Package usage documentation. -->
|
||||
|
||||
<section class="usage">
|
||||
|
||||
## Usage
|
||||
|
||||
```javascript
|
||||
var filledarray = require( '@stdlib/array/filled' );
|
||||
```
|
||||
|
||||
#### filledarray( \[dtype] )
|
||||
|
||||
Creates a filled array having a specified data type `dtype`.
|
||||
|
||||
```javascript
|
||||
var arr = filledarray();
|
||||
// returns <Float64Array>
|
||||
```
|
||||
|
||||
The function recognizes the following data types:
|
||||
|
||||
- `float64`: double-precision floating-point numbers (IEEE 754)
|
||||
- `float32`: single-precision floating-point numbers (IEEE 754)
|
||||
- `int32`: 32-bit two's complement signed integers
|
||||
- `uint32`: 32-bit unsigned integers
|
||||
- `int16`: 16-bit two's complement signed integers
|
||||
- `uint16`: 16-bit unsigned integers
|
||||
- `int8`: 8-bit two's complement signed integers
|
||||
- `uint8`: 8-bit unsigned integers
|
||||
- `uint8c`: 8-bit unsigned integers clamped to `0-255`
|
||||
- `generic`: generic JavaScript values
|
||||
|
||||
By default, the output array data type is `float64` (i.e., a [typed array][mdn-typed-array]). To specify an alternative data type, provide a `dtype` argument.
|
||||
|
||||
```javascript
|
||||
var arr = filledarray( 'int32' );
|
||||
// returns <Int32Array>
|
||||
```
|
||||
|
||||
#### filledarray( value, length\[, dtype] )
|
||||
|
||||
Returns a filled array having a specified `length`.
|
||||
|
||||
```javascript
|
||||
var arr1 = filledarray( 1.0, 5 );
|
||||
// returns <Float64Array>[ 1.0, 1.0, 1.0, 1.0, 1.0 ]
|
||||
|
||||
var arr2 = filledarray( 1, 5, 'uint8' );
|
||||
// returns <Uint8Array>[ 1, 1, 1, 1, 1 ]
|
||||
```
|
||||
|
||||
#### filledarray( value, array\[, dtype] )
|
||||
|
||||
Creates a filled array from another array (or array-like object).
|
||||
|
||||
```javascript
|
||||
var arr0 = {
|
||||
'0': 0.5,
|
||||
'1': 0.5,
|
||||
'2': 0.5,
|
||||
'length': 3
|
||||
};
|
||||
|
||||
var arr1 = filledarray( 1.0, arr0 );
|
||||
// returns <Float64Array>[ 1.0, 1.0, 1.0 ]
|
||||
|
||||
var arr2 = filledarray( 2.0, arr1 );
|
||||
// returns <Float64Array>[ 2.0, 2.0, 2.0 ]
|
||||
|
||||
var arr3 = filledarray( 3, arr1, 'int32' );
|
||||
// returns <Int32Array>[ 3, 3, 3 ]
|
||||
```
|
||||
|
||||
#### filledarray( value, iterable\[, dtype] )
|
||||
|
||||
Creates a filled array from an iterable.
|
||||
|
||||
```javascript
|
||||
var iterConstant = require( '@stdlib/iter/constant' );
|
||||
|
||||
var it = iterConstant( 3.0, {
|
||||
'iter': 3
|
||||
});
|
||||
var arr1 = filledarray( 1.0, it );
|
||||
// returns <Float64Array>[ 1.0, 1.0, 1.0 ]
|
||||
|
||||
var arr2 = filledarray( 1.0, it, 'float32' );
|
||||
// returns <Float32Array>[ 1.0, 1.0, 1.0 ]
|
||||
```
|
||||
|
||||
#### filledarray( value, buffer\[, byteOffset\[, length]]\[, dtype] )
|
||||
|
||||
Returns a filled [typed array][mdn-typed-array] view of an [`ArrayBuffer`][mdn-arraybuffer].
|
||||
|
||||
```javascript
|
||||
var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
|
||||
var buf = new ArrayBuffer( 32 );
|
||||
var arr = filledarray( 1.0, buf );
|
||||
// returns <Float64Array>[ 1.0, 1.0, 1.0, 1.0 ]
|
||||
|
||||
buf = new ArrayBuffer( 32 );
|
||||
arr = filledarray( 1.0, buf, 'float32' );
|
||||
// returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ]
|
||||
|
||||
buf = new ArrayBuffer( 32 );
|
||||
arr = filledarray( 1.0, buf, 16 );
|
||||
// returns <Float64Array>[ 1.0, 1.0 ]
|
||||
|
||||
buf = new ArrayBuffer( 32 );
|
||||
arr = filledarray( 1.0, buf, 16, 'float32' );
|
||||
// returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0 ]
|
||||
|
||||
buf = new ArrayBuffer( 32 );
|
||||
arr = filledarray( 1.0, buf, 16, 1 );
|
||||
// returns <Float64Array>[ 1.0 ]
|
||||
|
||||
buf = new ArrayBuffer( 32 );
|
||||
arr = filledarray( 1, buf, 10, 4, 'int16' );
|
||||
// returns <Int16Array>[ 1, 1, 1, 1 ]
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.usage -->
|
||||
|
||||
<!-- Package usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="notes">
|
||||
|
||||
## Notes
|
||||
|
||||
- Creating a generic [array][mdn-array] from an [`ArrayBuffer`][mdn-arraybuffer] is **not** supported.
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.notes -->
|
||||
|
||||
<!-- Package usage examples. -->
|
||||
|
||||
<section class="examples">
|
||||
|
||||
## Examples
|
||||
|
||||
<!-- eslint no-undef: "error" -->
|
||||
|
||||
```javascript
|
||||
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
|
||||
var dtypes = require( '@stdlib/array/dtypes' );
|
||||
var filledarray = require( '@stdlib/array/filled' );
|
||||
|
||||
// Generate a random number:
|
||||
var r = discreteUniform( 0, 100 );
|
||||
|
||||
// Get the list of supported array data types:
|
||||
var dt = dtypes();
|
||||
|
||||
// Generate filled arrays...
|
||||
var arr;
|
||||
var i;
|
||||
for ( i = 0; i < dt.length; i++ ) {
|
||||
arr = filledarray( r, 10, dt[ i ] );
|
||||
console.log( arr );
|
||||
}
|
||||
```
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.examples -->
|
||||
|
||||
<!-- Section to include cited references. If references are included, add a horizontal rule *before* the section. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="references">
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.references -->
|
||||
|
||||
<!-- Section for all links. Make sure to keep an empty line after the `section` element and another before the `/section` close. -->
|
||||
|
||||
<section class="links">
|
||||
|
||||
[mdn-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
|
||||
|
||||
[mdn-typed-array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
|
||||
|
||||
[mdn-arraybuffer]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
|
||||
|
||||
</section>
|
||||
|
||||
<!-- /.links -->
|
155
js/node_modules/@stdlib/array/filled/docs/repl.txt
generated
vendored
Normal file
155
js/node_modules/@stdlib/array/filled/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,155 @@
|
|||
|
||||
{{alias}}( [dtype] )
|
||||
Creates a filled array.
|
||||
|
||||
The function supports the following data types:
|
||||
|
||||
- float64: double-precision floating-point numbers (IEEE 754)
|
||||
- float32: single-precision floating-point numbers (IEEE 754)
|
||||
- int32: 32-bit two's complement signed integers
|
||||
- uint32: 32-bit unsigned integers
|
||||
- int16: 16-bit two's complement signed integers
|
||||
- uint16: 16-bit unsigned integers
|
||||
- int8: 8-bit two's complement signed integers
|
||||
- uint8: 8-bit unsigned integers
|
||||
- uint8c: 8-bit unsigned integers clamped to 0-255
|
||||
- generic: generic JavaScript values
|
||||
|
||||
The default array data type is `float64`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
dtype: string (optional)
|
||||
Data type. Default: 'float64'.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: TypedArray|Array
|
||||
Output array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = {{alias}}()
|
||||
<Float64Array>
|
||||
> arr = {{alias}}( 'float32' )
|
||||
<Float32Array>
|
||||
|
||||
|
||||
{{alias}}( value, length[, dtype] )
|
||||
Returns a filled array having a specified length.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
value: any
|
||||
Fill value.
|
||||
|
||||
length: integer
|
||||
Array length.
|
||||
|
||||
dtype: string (optional)
|
||||
Data type. Default: 'float64'.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: TypedArray|Array
|
||||
Output array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = {{alias}}( 1.0, 5 )
|
||||
<Float64Array>[ 1.0, 1.0, 1.0, 1.0, 1.0 ]
|
||||
> arr = {{alias}}( 1, 5, 'int32' )
|
||||
<Int32Array>[ 1, 1, 1, 1, 1 ]
|
||||
|
||||
|
||||
{{alias}}( value, array[, dtype] )
|
||||
Creates a filled array from another array (or array-like object).
|
||||
|
||||
Parameters
|
||||
----------
|
||||
value: any
|
||||
Fill value.
|
||||
|
||||
array: ArrayLikeObject
|
||||
Array from which to generate another array.
|
||||
|
||||
dtype: string (optional)
|
||||
Data type. Default: 'float64'.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: TypedArray|Array
|
||||
Output array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr1 = {{alias}}( 2.0, [ 0.5, 0.5, 0.5 ] )
|
||||
<Float64Array>[ 2.0, 2.0, 2.0 ]
|
||||
> var arr2 = {{alias}}( 1.0, arr1, 'float32' )
|
||||
<Float32Array>[ 1.0, 1.0, 1.0 ]
|
||||
|
||||
|
||||
{{alias}}( value, iterable[, dtype] )
|
||||
Creates a filled array from an iterable.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
value: any
|
||||
Fill value.
|
||||
|
||||
iterable: Object
|
||||
Iterable from which to generate an array.
|
||||
|
||||
dtype: string (optional)
|
||||
Data type. Default: 'float64'.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: TypedArray|Array
|
||||
Output array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr1 = {{alias:@stdlib/iter/constant}}( 3.0, {'iter': 3} );
|
||||
> var arr2 = {{alias}}( 1.0, arr1, 'float32' )
|
||||
<Float32Array>[ 1.0, 1.0, 1.0 ]
|
||||
|
||||
|
||||
{{alias}}( value, buffer[, byteOffset[, length]][, dtype] )
|
||||
Returns a filled typed array view of an ArrayBuffer.
|
||||
|
||||
The 'generic' array data type is *not* supported.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
value: any
|
||||
Fill value.
|
||||
|
||||
buffer: ArrayBuffer
|
||||
Underlying ArrayBuffer.
|
||||
|
||||
byteOffset: integer (optional)
|
||||
Integer byte offset specifying the location of the first typed array
|
||||
element. Default: 0.
|
||||
|
||||
length: integer (optional)
|
||||
View length. If not provided, the view spans from the byteOffset to
|
||||
the end of the underlying ArrayBuffer.
|
||||
|
||||
dtype: string (optional)
|
||||
Data type. Default: 'float64'.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: TypedArray
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var buf = new {{alias:@stdlib/array/buffer}}( 16 );
|
||||
> var arr = {{alias}}( 1.0, buf, 0, 4, 'float32' )
|
||||
<Float32Array>[ 1.0, 1.0, 1.0, 1.0 ]
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
225
js/node_modules/@stdlib/array/filled/docs/types/index.d.ts
generated
vendored
Normal file
225
js/node_modules/@stdlib/array/filled/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,225 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2020 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
/// <reference types="@stdlib/types"/>
|
||||
|
||||
import { TypedArray } from '@stdlib/types/array';
|
||||
import { Collection } from '@stdlib/types/object';
|
||||
import { IterableIterator } from '@stdlib/types/iter';
|
||||
|
||||
/**
|
||||
* Array or typed array.
|
||||
*/
|
||||
type ArrayOrTypedArray = Array<any> | TypedArray;
|
||||
|
||||
/**
|
||||
* Creates a filled array.
|
||||
*
|
||||
* The function recognizes the following data types:
|
||||
*
|
||||
* - `float64`: double-precision floating-point numbers (IEEE 754)
|
||||
* - `float32`: single-precision floating-point numbers (IEEE 754)
|
||||
* - `int32`: 32-bit two's complement signed integers
|
||||
* - `uint32`: 32-bit unsigned integers
|
||||
* - `int16`: 16-bit two's complement signed integers
|
||||
* - `uint16`: 16-bit unsigned integers
|
||||
* - `int8`: 8-bit two's complement signed integers
|
||||
* - `uint8`: 8-bit unsigned integers
|
||||
* - `uint8c`: 8-bit unsigned integers clamped to `0-255`
|
||||
* - `generic`: generic JavaScript values
|
||||
*
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @throws must provide a recognized data type
|
||||
* @returns filled array
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray();
|
||||
* // returns <Float64Array>
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 'float32' );
|
||||
* // returns <Float32Array>
|
||||
*/
|
||||
declare function filledarray( dtype?: string ): ArrayOrTypedArray;
|
||||
|
||||
/**
|
||||
* Creates a filled array having a specified `length`.
|
||||
*
|
||||
* @param value - fill value
|
||||
* @param length - array length
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @throws must provide a recognized data type
|
||||
* @returns filled array
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1.0, 5 );
|
||||
* // returns <Float64Array>[ 0.0, 0.0, 0.0, 0.0, 0.0 ]
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1.0, 5, 'float32' );
|
||||
* // returns <Float32Array>[ 0.0, 0.0, 0.0, 0.0, 0.0 ]
|
||||
*/
|
||||
declare function filledarray( value: any, length: number, dtype?: string ): ArrayOrTypedArray; // tslint:disable-line:max-line-length
|
||||
|
||||
/**
|
||||
* Creates a filled array from another `array`.
|
||||
*
|
||||
* @param value - fill value
|
||||
* @param array - typed array or array-like object
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @throws must provide a recognized data type
|
||||
* @returns filled array
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1.0, [ 5.0, -3.0, 2.0 ] );
|
||||
* // returns <Float64Array>[ 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1.0, [ 5.0, -3.0, 2.0 ], 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0, 1.0 ]
|
||||
*/
|
||||
declare function filledarray( value: any, array: Collection, dtype?: string ): ArrayOrTypedArray; // tslint:disable-line:max-line-length unified-signatures
|
||||
|
||||
/**
|
||||
* Creates a filled array from an iterable.
|
||||
*
|
||||
* @param value - fill value
|
||||
* @param iterable - iterable
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @throws must provide a recognized data type
|
||||
* @returns filled array
|
||||
*
|
||||
* @example
|
||||
* var iterConstant = require( `@stdlib/iter/constant` );
|
||||
*
|
||||
* var it = iterConstant( 3.0, {
|
||||
* 'iter': 3
|
||||
* });
|
||||
* var arr = filledarray( 1.0, it );
|
||||
* // returns <Float64Array>[ 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var iterConstant = require( `@stdlib/iter/constant` );
|
||||
*
|
||||
* var it = iterConstant( 3.0, {
|
||||
* 'iter': 3
|
||||
* });
|
||||
* var arr = filledarray( 1.0, it, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0, 1.0 ]
|
||||
*/
|
||||
declare function filledarray( value: any, iterable: IterableIterator, dtype?: string ): ArrayOrTypedArray; // tslint:disable-line:max-line-length unified-signatures
|
||||
|
||||
/**
|
||||
* Returns a filled typed array view of an `ArrayBuffer`.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - Creating a generic array from an `ArrayBuffer` is **not** supported.
|
||||
*
|
||||
* @param value - fill value
|
||||
* @param buffer - `ArrayBuffer`
|
||||
* @param byteOffset - byte offset
|
||||
* @param length - view length
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @throws must provide a recognized data type
|
||||
* @returns filled array
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1.0, buf, 8, 2 );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1.0, buf, 8, 2, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
*/
|
||||
declare function filledarray( value: any, buffer: ArrayBuffer, byteOffset: number, length: number, dtype?: string ): TypedArray; // tslint:disable-line:max-line-length
|
||||
|
||||
/**
|
||||
* Returns a filled typed array view of an `ArrayBuffer`.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - Creating a generic array from an `ArrayBuffer` is **not** supported.
|
||||
*
|
||||
* @param value - fill value
|
||||
* @param buffer - `ArrayBuffer`
|
||||
* @param byteOffset - byte offset
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @throws must provide a recognized data type
|
||||
* @returns filled array
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1.0, buf, 8 );
|
||||
* // returns <Float64Array>[ 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1.0, buf, 8, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
*/
|
||||
declare function filledarray( value: any, buffer: ArrayBuffer, byteOffset: number, dtype?: string ): TypedArray; // tslint:disable-line:max-line-length
|
||||
|
||||
/**
|
||||
* Returns a filled typed array view of an `ArrayBuffer`.
|
||||
*
|
||||
* ## Notes
|
||||
*
|
||||
* - Creating a generic array from an `ArrayBuffer` is **not** supported.
|
||||
*
|
||||
* @param value - fill value
|
||||
* @param buffer - `ArrayBuffer`
|
||||
* @param dtype - data type (default: 'float64')
|
||||
* @throws must provide a recognized data type
|
||||
* @returns filled array
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1.0, buf );
|
||||
* // returns <Float64Array>[ 1.0, 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( `@stdlib/array/buffer` );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1.0, buf, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
*/
|
||||
declare function filledarray( value: any, buffer: ArrayBuffer, dtype?: string ): TypedArray; // tslint:disable-line:max-line-length unified-signatures
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
export = filledarray;
|
206
js/node_modules/@stdlib/array/filled/docs/types/test.ts
generated
vendored
Normal file
206
js/node_modules/@stdlib/array/filled/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,206 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2020 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/// <reference types="@stdlib/types"/>
|
||||
|
||||
import { IterableIterator } from '@stdlib/types/iter';
|
||||
import filledarray = require( './index' );
|
||||
|
||||
|
||||
/**
|
||||
* Returns an iterator protocol-compliant object.
|
||||
*
|
||||
* @returns iterator protocol-compliant object
|
||||
*/
|
||||
function iterator(): IterableIterator {
|
||||
const obj: IterableIterator = {
|
||||
[Symbol.iterator]: iterator,
|
||||
'next': next
|
||||
};
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements the iterator protocol `next` method.
|
||||
*
|
||||
* @returns iterator protocol-compliant object
|
||||
*/
|
||||
function next(): any {
|
||||
return {
|
||||
'value': 1.0,
|
||||
'done': false
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns an array or typed array...
|
||||
{
|
||||
filledarray(); // $ExpectType ArrayOrTypedArray
|
||||
filledarray( 'float32' ); // $ExpectType ArrayOrTypedArray
|
||||
|
||||
filledarray( 1.0, 10 ); // $ExpectType ArrayOrTypedArray
|
||||
filledarray( 1.0, 10, 'int32' ); // $ExpectType ArrayOrTypedArray
|
||||
|
||||
const x = new Float64Array( 10 );
|
||||
filledarray( 1.0, x ); // $ExpectType ArrayOrTypedArray
|
||||
filledarray( 1.0, x, 'uint8' ); // $ExpectType ArrayOrTypedArray
|
||||
|
||||
const y = [ 2.0, 2.0, 2.0 ];
|
||||
filledarray( 1.0, y ); // $ExpectType ArrayOrTypedArray
|
||||
filledarray( 1.0, y, 'float64' ); // $ExpectType ArrayOrTypedArray
|
||||
|
||||
const it = iterator();
|
||||
filledarray( 1.0, it ); // $ExpectType ArrayOrTypedArray
|
||||
filledarray( 1.0, it, 'uint8c' ); // $ExpectType ArrayOrTypedArray
|
||||
|
||||
const buf = new ArrayBuffer( 32 );
|
||||
filledarray( 1.0, buf ); // $ExpectType TypedArray
|
||||
filledarray( 1.0, buf, 'uint32' ); // $ExpectType TypedArray
|
||||
|
||||
filledarray( 1.0, buf, 8 ); // $ExpectType TypedArray
|
||||
filledarray( 1.0, buf, 8, 'uint16' ); // $ExpectType TypedArray
|
||||
|
||||
filledarray( 1.0, buf, 8, 2 ); // $ExpectType TypedArray
|
||||
filledarray( 1.0, buf, 8, 2, 'int16' ); // $ExpectType TypedArray
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is not provided a valid length, typed array, array-like object, or `ArrayBuffer` argument...
|
||||
{
|
||||
filledarray( 1.0, false ); // $ExpectError
|
||||
filledarray( 1.0, true ); // $ExpectError
|
||||
filledarray( 1.0, null ); // $ExpectError
|
||||
filledarray( 1.0, {} ); // $ExpectError
|
||||
|
||||
filledarray( 1.0, false, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, true, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, null, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, undefined, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, {}, 'float64' ); // $ExpectError
|
||||
|
||||
filledarray( 1.0, '5', 8 ); // $ExpectError
|
||||
filledarray( 1.0, 1.0, 8 ); // $ExpectError
|
||||
filledarray( 1.0, false, 8 ); // $ExpectError
|
||||
filledarray( 1.0, true, 8 ); // $ExpectError
|
||||
filledarray( 1.0, null, 8 ); // $ExpectError
|
||||
filledarray( 1.0, undefined, 8 ); // $ExpectError
|
||||
filledarray( 1.0, [], 8 ); // $ExpectError
|
||||
filledarray( 1.0, {}, 8 ); // $ExpectError
|
||||
filledarray( 1.0, ( x: number ): number => x, 8 ); // $ExpectError
|
||||
|
||||
filledarray( 1.0, '5', 8, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, 1.0, 8, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, false, 8, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, true, 8, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, null, 8, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, undefined, 8, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, [], 8, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, {}, 8, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, ( x: number ): number => x, 8, 'float64' ); // $ExpectError
|
||||
|
||||
filledarray( 1.0, '5', 8, 2 ); // $ExpectError
|
||||
filledarray( 1.0, 1.0, 8, 2 ); // $ExpectError
|
||||
filledarray( 1.0, false, 8, 2 ); // $ExpectError
|
||||
filledarray( 1.0, true, 8, 2 ); // $ExpectError
|
||||
filledarray( 1.0, null, 8, 2 ); // $ExpectError
|
||||
filledarray( 1.0, undefined, 8, 2 ); // $ExpectError
|
||||
filledarray( 1.0, [], 8, 2 ); // $ExpectError
|
||||
filledarray( 1.0, {}, 8, 2 ); // $ExpectError
|
||||
filledarray( 1.0, ( x: number ): number => x, 8, 2 ); // $ExpectError
|
||||
|
||||
filledarray( 1.0, '5', 8, 2, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, 1.0, 8, 2, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, false, 8, 2, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, true, 8, 2, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, null, 8, 2, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, undefined, 8, 2, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, [], 8, 2, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, {}, 8, 2, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, ( x: number ): number => x, 8, 2, 'float64' ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a byte offset argument which is not a number...
|
||||
{
|
||||
const buf = new ArrayBuffer( 32 );
|
||||
|
||||
filledarray( 1.0, buf, false ); // $ExpectError
|
||||
filledarray( 1.0, buf, true ); // $ExpectError
|
||||
filledarray( 1.0, buf, null ); // $ExpectError
|
||||
filledarray( 1.0, buf, [] ); // $ExpectError
|
||||
filledarray( 1.0, buf, {} ); // $ExpectError
|
||||
filledarray( 1.0, buf, ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
filledarray( 1.0, buf, '5', 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, false, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, true, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, null, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, undefined, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, [], 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, {}, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, ( x: number ): number => x, 'float64' ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided a view length argument which is not a number...
|
||||
{
|
||||
const buf = new ArrayBuffer( 32 );
|
||||
|
||||
filledarray( 1.0, buf, 8, false ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, true ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, null ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, [] ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, {} ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
filledarray( 1.0, buf, 8, '5', 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, false, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, true, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, null, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, undefined, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, [], 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, {}, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, 8, ( x: number ): number => x, 'float64' ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is not provided a third argument which is a number...
|
||||
{
|
||||
const buf = new ArrayBuffer( 32 );
|
||||
|
||||
filledarray( 1.0, buf, false ); // $ExpectError
|
||||
filledarray( 1.0, buf, true ); // $ExpectError
|
||||
filledarray( 1.0, buf, null ); // $ExpectError
|
||||
filledarray( 1.0, buf, [] ); // $ExpectError
|
||||
filledarray( 1.0, buf, {} ); // $ExpectError
|
||||
filledarray( 1.0, buf, ( x: number ): number => x ); // $ExpectError
|
||||
|
||||
filledarray( 1.0, buf, '5', 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, false, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, true, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, null, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, undefined, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, [], 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, {}, 'float64' ); // $ExpectError
|
||||
filledarray( 1.0, buf, ( x: number ): number => x, 'float64' ); // $ExpectError
|
||||
}
|
||||
|
||||
// The compiler throws an error if the function is provided too many arguments...
|
||||
{
|
||||
const buf = new ArrayBuffer( 32 );
|
||||
|
||||
filledarray( 1.0, buf, 8, 2, 'float64', 1 ); // $ExpectError
|
||||
}
|
132
js/node_modules/@stdlib/array/filled/lib/index.js
generated
vendored
Normal file
132
js/node_modules/@stdlib/array/filled/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,132 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2020 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Create a filled array.
|
||||
*
|
||||
* @module @stdlib/array/filled
|
||||
*
|
||||
* @example
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var arr = filledarray();
|
||||
* // returns <Float64Array>
|
||||
*
|
||||
* @example
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var arr = filledarray( 1.0, 2 );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var arr = filledarray( 1.0, 2, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var arr = filledarray( 1.0, 2, 'generic' );
|
||||
* // returns [ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var arr = filledarray( 1.0, [ 0.5, 0.5 ] );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var arr = filledarray( 1, [ 5, -3 ], 'int32' );
|
||||
* // returns <Int32Array>[ 1, 1 ]
|
||||
*
|
||||
* @example
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var arr1 = filledarray( 10, [ 5, 3 ], 'int32' );
|
||||
* var arr2 = filledarray( 1.0, arr1 );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var arr1 = filledarray( 1, [ 5, 3 ], 'int32' );
|
||||
* var arr2 = filledarray( 2, arr1, 'uint32' );
|
||||
* // returns <Uint32Array>[ 2, 2 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = filledarray( 1.0, buf );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = filledarray( 1.0, buf, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = filledarray( 1.0, buf, 8 );
|
||||
* // returns <Float64Array>[ 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = filledarray( 1.0, buf, 8, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1.0, buf, 8, 2 );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
* var filledarray = require( '@stdlib/array/filled' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1, buf, 8, 2, 'int32' );
|
||||
* // returns <Int32Array>[ 1, 1 ]
|
||||
*/
|
||||
|
||||
// MODULES //
|
||||
|
||||
var filledarray = require( './main.js' );
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = filledarray;
|
228
js/node_modules/@stdlib/array/filled/lib/main.js
generated
vendored
Normal file
228
js/node_modules/@stdlib/array/filled/lib/main.js
generated
vendored
Normal file
|
@ -0,0 +1,228 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2020 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MODULES //
|
||||
|
||||
var isString = require( '@stdlib/assert/is-string' ).isPrimitive;
|
||||
var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isPrimitive;
|
||||
var isCollection = require( '@stdlib/assert/is-collection' );
|
||||
var isArrayBuffer = require( '@stdlib/assert/is-arraybuffer' );
|
||||
var isObject = require( '@stdlib/assert/is-object' );
|
||||
var isFunction = require( '@stdlib/assert/is-function' );
|
||||
var hasOwnProp = require( '@stdlib/assert/has-own-property' );
|
||||
var ctors = require( './../../ctors' );
|
||||
var gfill = require( '@stdlib/blas/ext/base/gfill' );
|
||||
var hasIteratorSymbolSupport = require( '@stdlib/assert/has-iterator-symbol-support' );
|
||||
var ITERATOR_SYMBOL = require( '@stdlib/symbol/iterator' );
|
||||
|
||||
|
||||
// VARIABLES //
|
||||
|
||||
var HAS_ITERATOR_SYMBOL = hasIteratorSymbolSupport();
|
||||
|
||||
|
||||
// MAIN //
|
||||
|
||||
/**
|
||||
* Creates a filled array.
|
||||
*
|
||||
* @param {*} [value] - fill value
|
||||
* @param {(NonNegativeInteger|TypedArray|ArrayLikeObject|ArrayBuffer)} [arg] - a length, typed array, array-like object, or buffer
|
||||
* @param {NonNegativeInteger} [byteOffset=0] - byte offset
|
||||
* @param {NonNegativeInteger} [length] - view length
|
||||
* @param {string} [dtype="float64"] - data type
|
||||
* @throws {TypeError} must provide a recognized data type
|
||||
* @throws {TypeError} must provide a length, typed array, array-like object, or buffer
|
||||
* @throws {Error} creating a generic array from an `ArrayBuffer` is not supported
|
||||
* @returns {(TypedArray|Array)} array or typed array
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray();
|
||||
* // returns <Float64Array>
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1.0, 2 );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1.0, 2, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1.0, 2, 'generic' );
|
||||
* // returns [ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1.0, [ 0.5, 0.5 ] );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var arr = filledarray( 1, [ 5, -3 ], 'int32' );
|
||||
* // returns <Int32Array>[ 1, 1 ]
|
||||
*
|
||||
* @example
|
||||
* var arr1 = filledarray( 2, [ 5, 3 ], 'int32' );
|
||||
* var arr2 = filledarray( 1.0, arr1 );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var arr1 = filledarray( 2, [ 5, 3 ], 'int32' );
|
||||
* var arr2 = filledarray( 1, arr1, 'uint32' );
|
||||
* // returns <Uint32Array>[ 1, 1 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = filledarray( 1.0, buf );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = filledarray( 1.0, buf, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0, 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = filledarray( 1.0, buf, 8 );
|
||||
* // returns <Float64Array>[ 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 16 );
|
||||
* var arr = filledarray( 1.0, buf, 8, 'float32' );
|
||||
* // returns <Float32Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1.0, buf, 8, 2 );
|
||||
* // returns <Float64Array>[ 1.0, 1.0 ]
|
||||
*
|
||||
* @example
|
||||
* var ArrayBuffer = require( '@stdlib/array/buffer' );
|
||||
*
|
||||
* var buf = new ArrayBuffer( 32 );
|
||||
* var arr = filledarray( 1, buf, 8, 2, 'int32' );
|
||||
* // returns <Int32Array>[ 1, 1 ]
|
||||
*/
|
||||
function filledarray() {
|
||||
var value;
|
||||
var nargs;
|
||||
var dtype;
|
||||
var ctor;
|
||||
var arr;
|
||||
var len;
|
||||
var arg;
|
||||
var v;
|
||||
var i;
|
||||
|
||||
nargs = arguments.length;
|
||||
nargs -= 1;
|
||||
if ( nargs >= 0 && isString( arguments[ nargs ] ) ) {
|
||||
dtype = arguments[ nargs ];
|
||||
nargs -= 1;
|
||||
} else {
|
||||
dtype = 'float64';
|
||||
}
|
||||
ctor = ctors( dtype );
|
||||
if ( ctor === null ) {
|
||||
throw new TypeError( 'invalid argument. Must provide a recognized data type. Value: `'+dtype+'`.' );
|
||||
}
|
||||
if ( dtype === 'generic' ) {
|
||||
if ( nargs <= 0 ) {
|
||||
return [];
|
||||
}
|
||||
value = arguments[ 0 ];
|
||||
arg = arguments[ 1 ];
|
||||
if ( nargs === 1 ) {
|
||||
if ( isNonNegativeInteger( arg ) ) {
|
||||
len = arg;
|
||||
} else if ( isCollection( arg ) ) {
|
||||
len = arg.length;
|
||||
}
|
||||
if ( len !== void 0 ) {
|
||||
arr = [];
|
||||
|
||||
// Manually push elements in order to ensure "fast" elements...
|
||||
for ( i = 0; i < len; i++ ) {
|
||||
arr.push( value );
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
if ( isArrayBuffer( arg ) ) {
|
||||
throw new Error( 'invalid arguments. Creating a generic array from an ArrayBuffer is not supported.' );
|
||||
}
|
||||
if ( isObject( arg ) ) {
|
||||
if ( HAS_ITERATOR_SYMBOL === false ) {
|
||||
throw new TypeError( 'invalid argument. Environment lacks Symbol.iterator support. Must provide a length, typed array, or array-like object. Value: `'+arg+'`.' );
|
||||
}
|
||||
if ( !isFunction( arg[ ITERATOR_SYMBOL ] ) ) {
|
||||
throw new TypeError( 'invalid argument. Must provide a length, typed array, array-like object, or an iterable. Value: `'+arg+'`.' );
|
||||
}
|
||||
arg = arg[ ITERATOR_SYMBOL ]();
|
||||
if ( !isFunction( arg.next ) ) {
|
||||
throw new TypeError( 'invalid argument. Must provide a length, typed array, array-like object, or an iterable.' );
|
||||
}
|
||||
arr = [];
|
||||
while ( true ) {
|
||||
v = arg.next();
|
||||
if ( hasOwnProp( v, 'value' ) ) {
|
||||
arr.push( value );
|
||||
}
|
||||
if ( v.done ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
throw new TypeError( 'invalid argument. Must provide a length, typed array, array-like object, or an iterable. Value: `'+arg+'`.' );
|
||||
} else if ( isArrayBuffer( arg ) ) {
|
||||
throw new Error( 'invalid arguments. Creating a generic array from an ArrayBuffer is not supported.' );
|
||||
}
|
||||
throw new TypeError( 'invalid argument. Must provide a length, typed array, array-like object, or an iterable. Value: `'+arg+'`.' );
|
||||
}
|
||||
if ( nargs <= 0 ) {
|
||||
return new ctor( 0 );
|
||||
}
|
||||
if ( nargs === 1 ) {
|
||||
arr = new ctor( arguments[1] );
|
||||
} else if ( nargs === 2 ) {
|
||||
arr = new ctor( arguments[1], arguments[2] );
|
||||
} else {
|
||||
arr = new ctor( arguments[1], arguments[2], arguments[3] );
|
||||
}
|
||||
value = arguments[ 0 ];
|
||||
if ( arr.length > 0 && value !== 0 ) { // i.e., nonzero
|
||||
gfill( arr.length, value, arr, 1 );
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = filledarray;
|
99
js/node_modules/@stdlib/array/filled/package.json
generated
vendored
Normal file
99
js/node_modules/@stdlib/array/filled/package.json
generated
vendored
Normal file
|
@ -0,0 +1,99 @@
|
|||
{
|
||||
"name": "@stdlib/array/filled",
|
||||
"version": "0.0.0",
|
||||
"description": "Create a filled array.",
|
||||
"license": "Apache-2.0",
|
||||
"author": {
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "The Stdlib Authors",
|
||||
"url": "https://github.com/stdlib-js/stdlib/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"main": "./lib",
|
||||
"directories": {
|
||||
"benchmark": "./benchmark",
|
||||
"doc": "./docs",
|
||||
"example": "./examples",
|
||||
"lib": "./lib",
|
||||
"test": "./test"
|
||||
},
|
||||
"types": "./docs/types",
|
||||
"scripts": {},
|
||||
"homepage": "https://github.com/stdlib-js/stdlib",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/stdlib-js/stdlib.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/stdlib-js/stdlib/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=0.10.0",
|
||||
"npm": ">2.7.0"
|
||||
},
|
||||
"os": [
|
||||
"aix",
|
||||
"darwin",
|
||||
"freebsd",
|
||||
"linux",
|
||||
"macos",
|
||||
"openbsd",
|
||||
"sunos",
|
||||
"win32",
|
||||
"windows"
|
||||
],
|
||||
"keywords": [
|
||||
"stdlib",
|
||||
"stdtypes",
|
||||
"types",
|
||||
"data",
|
||||
"structure",
|
||||
"typed",
|
||||
"array",
|
||||
"typed array",
|
||||
"typed-array",
|
||||
"vector",
|
||||
"ndarray",
|
||||
"matrix",
|
||||
"float64array",
|
||||
"float32array",
|
||||
"int32array",
|
||||
"uint32array",
|
||||
"int16array",
|
||||
"uint16array",
|
||||
"int8array",
|
||||
"uint8array",
|
||||
"uint8clampedarray",
|
||||
"float64",
|
||||
"double",
|
||||
"precision",
|
||||
"double-precision",
|
||||
"single",
|
||||
"float",
|
||||
"single-precision",
|
||||
"float32",
|
||||
"ieee754",
|
||||
"integer",
|
||||
"int32",
|
||||
"signed",
|
||||
"unsigned",
|
||||
"uint32",
|
||||
"int16",
|
||||
"uint16",
|
||||
"int8",
|
||||
"uint8",
|
||||
"uint8c",
|
||||
"clamped",
|
||||
"short",
|
||||
"long",
|
||||
"generic",
|
||||
"fill",
|
||||
"filled"
|
||||
]
|
||||
}
|
1444
js/node_modules/@stdlib/array/float32/README.md
generated
vendored
Normal file
1444
js/node_modules/@stdlib/array/float32/README.md
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
959
js/node_modules/@stdlib/array/float32/docs/repl.txt
generated
vendored
Normal file
959
js/node_modules/@stdlib/array/float32/docs/repl.txt
generated
vendored
Normal file
|
@ -0,0 +1,959 @@
|
|||
|
||||
{{alias}}()
|
||||
A typed array constructor which returns a typed array representing an array
|
||||
of single-precision floating-point numbers in the platform byte order.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}()
|
||||
<Float32Array>
|
||||
|
||||
|
||||
{{alias}}( length )
|
||||
Returns a typed array having a specified length.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
length: integer
|
||||
Typed array length.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( 5 )
|
||||
<Float32Array>[ 0.0, 0.0, 0.0, 0.0, 0.0 ]
|
||||
|
||||
|
||||
{{alias}}( typedarray )
|
||||
Creates a typed array from another typed array.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
typedarray: TypedArray
|
||||
Typed array from which to generate another typed array.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr1 = new {{alias:@stdlib/array/float64}}( [ 0.5, 0.5, 0.5 ] );
|
||||
> var arr2 = new {{alias}}( arr1 )
|
||||
<Float32Array>[ 0.5, 0.5, 0.5 ]
|
||||
|
||||
|
||||
{{alias}}( obj )
|
||||
Creates a typed array from an array-like object or iterable.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
obj: Object
|
||||
Array-like object or iterable from which to generate a typed array.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr1 = [ 0.5, 0.5, 0.5 ];
|
||||
> var arr2 = new {{alias}}( arr1 )
|
||||
<Float32Array>[ 0.5, 0.5, 0.5 ]
|
||||
|
||||
|
||||
{{alias}}( buffer[, byteOffset[, length]] )
|
||||
Returns a typed array view of an ArrayBuffer.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
buffer: ArrayBuffer
|
||||
Underlying ArrayBuffer.
|
||||
|
||||
byteOffset: integer (optional)
|
||||
Integer byte offset specifying the location of the first typed array
|
||||
element. Default: 0.
|
||||
|
||||
length: integer (optional)
|
||||
View length. If not provided, the view spans from the byteOffset to
|
||||
the end of the underlying ArrayBuffer.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var buf = new {{alias:@stdlib/array/buffer}}( 16 );
|
||||
> var arr = new {{alias}}( buf, 0, 4 )
|
||||
<Float32Array>[ 0.0, 0.0, 0.0, 0.0 ]
|
||||
|
||||
|
||||
{{alias}}.from( src[, map[, thisArg]] )
|
||||
Creates a new typed array from an array-like object or an iterable.
|
||||
|
||||
A callback is provided the following arguments:
|
||||
|
||||
- value: source value.
|
||||
- index: source index.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
src: ArrayLike|Iterable
|
||||
Source of array elements.
|
||||
|
||||
map: Function (optional)
|
||||
Callback to invoke for each source element.
|
||||
|
||||
thisArg: Any (optional)
|
||||
Callback execution context.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> function mapFcn( v ) { return v * 2.0; };
|
||||
> var arr = {{alias}}.from( [ 1.0, -1.0 ], mapFcn )
|
||||
<Float32Array>[ 2.0, -2.0 ]
|
||||
|
||||
|
||||
{{alias}}.of( element0[, element1[, ...elementN]] )
|
||||
Creates a new typed array from a variable number of arguments.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
element0: number
|
||||
Array element.
|
||||
|
||||
element1: number (optional)
|
||||
Array element.
|
||||
|
||||
elementN: number (optional)
|
||||
Array elements.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = {{alias}}.of( 2.0, -2.0 )
|
||||
<Float32Array>[ 2.0, -2.0 ]
|
||||
|
||||
|
||||
{{alias}}.BYTES_PER_ELEMENT
|
||||
Number of bytes per view element.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> {{alias}}.BYTES_PER_ELEMENT
|
||||
4
|
||||
|
||||
|
||||
{{alias}}.name
|
||||
Typed array constructor name.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> {{alias}}.name
|
||||
'Float32Array'
|
||||
|
||||
|
||||
{{alias}}.prototype.buffer
|
||||
Read-only property which returns the ArrayBuffer referenced by the typed
|
||||
array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( 5 );
|
||||
> arr.buffer
|
||||
<ArrayBuffer>
|
||||
|
||||
|
||||
{{alias}}.prototype.byteLength
|
||||
Read-only property which returns the length (in bytes) of the typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( 5 );
|
||||
> arr.byteLength
|
||||
20
|
||||
|
||||
|
||||
{{alias}}.prototype.byteOffset
|
||||
Read-only property which returns the offset (in bytes) of the typed array
|
||||
from the start of its ArrayBuffer.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( 5 );
|
||||
> arr.byteOffset
|
||||
0
|
||||
|
||||
|
||||
{{alias}}.prototype.BYTES_PER_ELEMENT
|
||||
Number of bytes per view element.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( 5 );
|
||||
> arr.BYTES_PER_ELEMENT
|
||||
4
|
||||
|
||||
|
||||
{{alias}}.prototype.length
|
||||
Read-only property which returns the number of view elements.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( 5 );
|
||||
> arr.length
|
||||
5
|
||||
|
||||
|
||||
{{alias}}.prototype.copyWithin( target, start[, end] )
|
||||
Copies a sequence of elements within the array starting at `start` and
|
||||
ending at `end` (non-inclusive) to the position starting at `target`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
target: integer
|
||||
Target start index position.
|
||||
|
||||
start: integer
|
||||
Source start index position.
|
||||
|
||||
end: integer (optional)
|
||||
Source end index position. Default: out.length.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
Modified array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 2.0, -2.0, 1.0, -1.0, 1.0 ] );
|
||||
> arr.copyWithin( 3, 0, 2 );
|
||||
> arr[ 3 ]
|
||||
2.0
|
||||
> arr[ 4 ]
|
||||
-2.0
|
||||
|
||||
|
||||
{{alias}}.prototype.entries()
|
||||
Returns an iterator for iterating over array key-value pairs.
|
||||
|
||||
Returns
|
||||
-------
|
||||
iter: Iterator
|
||||
Iterator for iterating over array key-value pairs.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0 ] );
|
||||
> it = arr.entries();
|
||||
> it.next().value
|
||||
[ 0, 1.0 ]
|
||||
> it.next().value
|
||||
[ 1, -1.0 ]
|
||||
> it.next().done
|
||||
true
|
||||
|
||||
|
||||
{{alias}}.prototype.every( predicate[, thisArg] )
|
||||
Tests whether all array elements pass a test implemented by a predicate
|
||||
function.
|
||||
|
||||
A predicate function is provided the following arguments:
|
||||
|
||||
- value: array element.
|
||||
- index: array index.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
predicate: Function
|
||||
Predicate function which tests array elements. If a predicate function
|
||||
returns a truthy value, an array element passes; otherwise, an array
|
||||
element fails.
|
||||
|
||||
thisArg: Any (optional)
|
||||
Callback execution context.
|
||||
|
||||
Returns
|
||||
-------
|
||||
bool: boolean
|
||||
Boolean indicating whether all array elements pass.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0 ] );
|
||||
> function predicate( v ) { return ( v >= 0.0 ); };
|
||||
> arr.every( predicate )
|
||||
false
|
||||
|
||||
|
||||
{{alias}}.prototype.fill( value[, start[, end]] )
|
||||
Fills an array from a start index to an end index (non-inclusive) with a
|
||||
provided value.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
value: number
|
||||
Fill value.
|
||||
|
||||
start: integer (optional)
|
||||
Start index. If less than zero, the start index is resolved relative to
|
||||
the last array element. Default: 0.
|
||||
|
||||
end: integer (optional)
|
||||
End index (non-inclusive). If less than zero, the end index is resolved
|
||||
relative to the last array element. Default: out.length.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
Modified array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0 ] );
|
||||
> arr.fill( 2.0 );
|
||||
> arr[ 0 ]
|
||||
2.0
|
||||
> arr[ 1 ]
|
||||
2.0
|
||||
|
||||
|
||||
{{alias}}.prototype.filter( predicate[, thisArg] )
|
||||
Creates a new array which includes those elements for which a predicate
|
||||
function returns a truthy value.
|
||||
|
||||
A predicate function is provided the following arguments:
|
||||
|
||||
- value: array element.
|
||||
- index: array index.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
The returned array has the same data type as the host array.
|
||||
|
||||
If a predicate function does not return a truthy value for any array
|
||||
element, the method returns `null`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
predicate: Function
|
||||
Predicate function which filters array elements. If a predicate function
|
||||
returns a truthy value, an array element is included in the output
|
||||
array; otherwise, an array element is not included in the output array.
|
||||
|
||||
thisArg: Any (optional)
|
||||
Callback execution context.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr1 = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> function predicate( v ) { return ( v >= 0.0 ); };
|
||||
> var arr2 = arr1.filter( predicate );
|
||||
> arr2.length
|
||||
2
|
||||
|
||||
|
||||
{{alias}}.prototype.find( predicate[, thisArg] )
|
||||
Returns the first array element for which a provided predicate function
|
||||
returns a truthy value.
|
||||
|
||||
A predicate function is provided the following arguments:
|
||||
|
||||
- value: array element.
|
||||
- index: array index.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
If a predicate function never returns a truthy value, the method returns
|
||||
`undefined`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
predicate: Function
|
||||
Predicate function which tests array elements.
|
||||
|
||||
thisArg: Any (optional)
|
||||
Callback execution context.
|
||||
|
||||
Returns
|
||||
-------
|
||||
value: number|undefined
|
||||
Array element.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> function predicate( v ) { return ( v < 0.0 ); };
|
||||
> var v = arr.find( predicate )
|
||||
-1.0
|
||||
|
||||
|
||||
{{alias}}.prototype.findIndex( predicate[, thisArg] )
|
||||
Returns the index of the first array element for which a provided predicate
|
||||
function returns a truthy value.
|
||||
|
||||
A predicate function is provided the following arguments:
|
||||
|
||||
- value: array element.
|
||||
- index: array index.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
If a predicate function never returns a truthy value, the method returns
|
||||
`-1`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
predicate: Function
|
||||
Predicate function which tests array elements.
|
||||
|
||||
thisArg: Any (optional)
|
||||
Callback execution context.
|
||||
|
||||
Returns
|
||||
-------
|
||||
idx: integer
|
||||
Array index.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> function predicate( v ) { return ( v < 0.0 ); };
|
||||
> var idx = arr.findIndex( predicate )
|
||||
2
|
||||
|
||||
|
||||
{{alias}}.prototype.forEach( fcn[, thisArg] )
|
||||
Invokes a callback for each array element.
|
||||
|
||||
A provided function is provided the following arguments:
|
||||
|
||||
- value: array element.
|
||||
- index: array index.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
fcn: Function
|
||||
Function to invoke for each array element.
|
||||
|
||||
thisArg: Any (optional)
|
||||
Callback execution context.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> var str = ' ';
|
||||
> function fcn( v, i ) { str += i + ':' + v + ' '; };
|
||||
> arr.forEach( fcn );
|
||||
> str
|
||||
' 0:1 1:0 2:-1 '
|
||||
|
||||
|
||||
{{alias}}.prototype.includes( searchElement[, fromIndex] )
|
||||
Returns a boolean indicating whether an array includes a search element.
|
||||
|
||||
The method does not distinguish between signed and unsigned zero.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
searchElement: number
|
||||
Search element.
|
||||
|
||||
fromIndex: integer (optional)
|
||||
Array index from which to begin searching. If provided a negative value,
|
||||
the method resolves the start index relative to the last array element.
|
||||
Default: 0.
|
||||
|
||||
Returns
|
||||
-------
|
||||
bool: boolean
|
||||
Boolean indicating whether an array includes a search element.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> var bool = arr.includes( 2.0 )
|
||||
false
|
||||
> bool = arr.includes( -1.0 )
|
||||
true
|
||||
|
||||
|
||||
{{alias}}.prototype.indexOf( searchElement[, fromIndex] )
|
||||
Returns the index of the first array element strictly equal to a search
|
||||
element.
|
||||
|
||||
The method does not distinguish between signed and unsigned zero.
|
||||
|
||||
If unable to locate a search element, the method returns `-1`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
searchElement: number
|
||||
Search element.
|
||||
|
||||
fromIndex: integer (optional)
|
||||
Array index from which to begin searching. If provided a negative value,
|
||||
the method resolves the start index relative to the last array element.
|
||||
Default: 0.
|
||||
|
||||
Returns
|
||||
-------
|
||||
idx: integer
|
||||
Array index.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> var idx = arr.indexOf( 2.0 )
|
||||
-1
|
||||
> idx = arr.indexOf( -1.0 )
|
||||
2
|
||||
|
||||
|
||||
{{alias}}.prototype.join( [separator] )
|
||||
Serializes an array by joining all array elements as a string.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
separator: string (optional)
|
||||
String delineating array elements. Default: ','.
|
||||
|
||||
Returns
|
||||
-------
|
||||
str: string
|
||||
Array serialized as a string.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> arr.join( '|' )
|
||||
'1|0|-1'
|
||||
|
||||
|
||||
{{alias}}.prototype.keys()
|
||||
Returns an iterator for iterating over array keys.
|
||||
|
||||
Returns
|
||||
-------
|
||||
iter: Iterator
|
||||
Iterator for iterating over array keys.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0 ] );
|
||||
> it = arr.keys();
|
||||
> it.next().value
|
||||
0
|
||||
> it.next().value
|
||||
1
|
||||
> it.next().done
|
||||
true
|
||||
|
||||
|
||||
{{alias}}.prototype.lastIndexOf( searchElement[, fromIndex] )
|
||||
Returns the index of the last array element strictly equal to a search
|
||||
element.
|
||||
|
||||
The method iterates from the last array element to the first array element.
|
||||
|
||||
The method does not distinguish between signed and unsigned zero.
|
||||
|
||||
If unable to locate a search element, the method returns `-1`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
searchElement: number
|
||||
Search element.
|
||||
|
||||
fromIndex: integer (optional)
|
||||
Array index from which to begin searching. If provided a negative value,
|
||||
the method resolves the start index relative to the last array element.
|
||||
Default: -1.
|
||||
|
||||
Returns
|
||||
-------
|
||||
idx: integer
|
||||
array index.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0, 0.0, 1.0 ] );
|
||||
> var idx = arr.lastIndexOf( 2.0 )
|
||||
-1
|
||||
> idx = arr.lastIndexOf( 0.0 )
|
||||
3
|
||||
|
||||
|
||||
{{alias}}.prototype.map( fcn[, thisArg] )
|
||||
Maps each array element to an element in a new typed array.
|
||||
|
||||
A provided function is provided the following arguments:
|
||||
|
||||
- value: array element.
|
||||
- index: array index.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
The returned array has the same data type as the host array.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
fcn: Function
|
||||
Function which maps array elements to elements in the new array.
|
||||
|
||||
thisArg: Any (optional)
|
||||
Callback execution context.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr1 = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> function fcn( v ) { return v * 2.0; };
|
||||
> var arr2 = arr1.map( fcn );
|
||||
<Float32Array>[ 2.0, 0.0, -2.0 ]
|
||||
|
||||
|
||||
{{alias}}.prototype.reduce( fcn[, initialValue] )
|
||||
Applies a function against an accumulator and each element in an array and
|
||||
returns the accumulated result.
|
||||
|
||||
The provided function is provided the following arguments:
|
||||
|
||||
- acc: accumulated result.
|
||||
- value: current array element.
|
||||
- index: index of the current array element.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
If provided an initial value, the method invokes a provided function with
|
||||
the initial value as the first argument and the first array element as the
|
||||
second argument.
|
||||
|
||||
If not provided an initial value, the method invokes a provided function
|
||||
with the first array element as the first argument and the second array
|
||||
element as the second argument.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
fcn: Function
|
||||
Function to apply.
|
||||
|
||||
initialValue: Any (optional)
|
||||
Initial accumulation value.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Any
|
||||
Accumulated result.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> function fcn( acc, v ) { return acc + (v*v); };
|
||||
> var v = arr.reduce( fcn, 0.0 )
|
||||
2.0
|
||||
|
||||
|
||||
{{alias}}.prototype.reduceRight( fcn[, initialValue] )
|
||||
Applies a function against an accumulator and each element in an array and
|
||||
returns the accumulated result, iterating from right to left.
|
||||
|
||||
The provided function is provided the following arguments:
|
||||
|
||||
- acc: accumulated result.
|
||||
- value: current array element.
|
||||
- index: index of the current array element.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
If provided an initial value, the method invokes a provided function with
|
||||
the initial value as the first argument and the last array element as the
|
||||
second argument.
|
||||
|
||||
If not provided an initial value, the method invokes a provided function
|
||||
with the last array element as the first argument and the second-to-last
|
||||
array element as the second argument.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
fcn: Function
|
||||
Function to apply.
|
||||
|
||||
initialValue: Any (optional)
|
||||
Initial accumulation value.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Any
|
||||
Accumulated result.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> function fcn( acc, v ) { return acc + (v*v); };
|
||||
> var v = arr.reduceRight( fcn, 0.0 )
|
||||
2.0
|
||||
|
||||
|
||||
{{alias}}.prototype.reverse()
|
||||
Reverses an array *in-place*.
|
||||
|
||||
This method mutates the array on which the method is invoked.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
Modified array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] )
|
||||
<Float32Array>[ 1.0, 0.0, -1.0 ]
|
||||
> arr.reverse()
|
||||
<Float32Array>[ -1.0, 0.0, 1.0 ]
|
||||
|
||||
|
||||
{{alias}}.prototype.set( arr[, offset] )
|
||||
Sets array elements.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
arr: ArrayLike
|
||||
Source array containing array values to set.
|
||||
|
||||
offset: integer (optional)
|
||||
Array index at which to start writing values. Default: 0.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> arr.set( [ -2.0, 2.0 ], 1 );
|
||||
> arr[ 1 ]
|
||||
-2.0
|
||||
> arr[ 2 ]
|
||||
2.0
|
||||
|
||||
|
||||
{{alias}}.prototype.slice( [begin[, end]] )
|
||||
Copies array elements to a new array with the same underlying data type as
|
||||
the host array.
|
||||
|
||||
If the method is unable to resolve indices to a non-empty array subsequence,
|
||||
the method returns `null`.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
begin: integer (optional)
|
||||
Start element index (inclusive). If less than zero, the start index is
|
||||
resolved relative to the last array element. Default: 0.
|
||||
|
||||
end: integer (optional)
|
||||
End element index (exclusive). If less than zero, the end index is
|
||||
resolved relative to the last array element. Default: arr.length.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A typed array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr1 = new {{alias}}( [ 1.0, 0.0, -1.0 ] );
|
||||
> var arr2 = arr1.slice( 1 );
|
||||
> arr2.length
|
||||
2
|
||||
> arr2[ 0 ]
|
||||
0.0
|
||||
> arr2[ 1 ]
|
||||
-1.0
|
||||
|
||||
|
||||
{{alias}}.prototype.some( predicate[, thisArg] )
|
||||
Tests whether at least one array element passes a test implemented by a
|
||||
predicate function.
|
||||
|
||||
A predicate function is provided the following arguments:
|
||||
|
||||
- value: array element.
|
||||
- index: array index.
|
||||
- arr: array on which the method is invoked.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
predicate: Function
|
||||
Predicate function which tests array elements. If a predicate function
|
||||
returns a truthy value, a array element passes; otherwise, an array
|
||||
element fails.
|
||||
|
||||
thisArg: Any (optional)
|
||||
Callback execution context.
|
||||
|
||||
Returns
|
||||
-------
|
||||
bool: boolean
|
||||
Boolean indicating whether at least one array element passes.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0 ] );
|
||||
> function predicate( v ) { return ( v < 0.0 ); };
|
||||
> arr.some( predicate )
|
||||
true
|
||||
|
||||
|
||||
{{alias}}.prototype.sort( [compareFunction] )
|
||||
Sorts an array *in-place*.
|
||||
|
||||
The comparison function is provided two array elements per invocation: `a`
|
||||
and `b`.
|
||||
|
||||
The comparison function return value determines the sort order as follows:
|
||||
|
||||
- If the comparison function returns a value less than zero, then the method
|
||||
sorts `a` to an index lower than `b` (i.e., `a` should come *before* `b`).
|
||||
|
||||
- If the comparison function returns a value greater than zero, then the
|
||||
method sorts `a` to an index higher than `b` (i.e., `b` should come *before*
|
||||
`a`).
|
||||
|
||||
- If the comparison function returns zero, then the relative order of `a`
|
||||
and `b` should remain unchanged.
|
||||
|
||||
This method mutates the array on which the method is invoked.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
compareFunction: Function (optional)
|
||||
Function which specifies the sort order. The default sort order is
|
||||
ascending order.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
Modified array.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0, 0.0, 2.0, -2.0 ] );
|
||||
> arr.sort()
|
||||
<Float32Array>[ -2.0, -1.0, 0.0, 1.0, 2.0 ]
|
||||
|
||||
|
||||
{{alias}}.prototype.subarray( [begin[, end]] )
|
||||
Creates a new typed array over the same underlying ArrayBuffer and with the
|
||||
same underlying data type as the host array.
|
||||
|
||||
If the method is unable to resolve indices to a non-empty array subsequence,
|
||||
the method returns an empty typed array.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
begin: integer (optional)
|
||||
Start element index (inclusive). If less than zero, the start index is
|
||||
resolved relative to the last array element. Default: 0.
|
||||
|
||||
end: integer (optional)
|
||||
End element index (exclusive). If less than zero, the end index is
|
||||
resolved relative to the last array element. Default: arr.length.
|
||||
|
||||
Returns
|
||||
-------
|
||||
out: Float32Array
|
||||
A new typed array view.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr1 = new {{alias}}( [ 1.0, -1.0, 0.0, 2.0, -2.0 ] );
|
||||
> var arr2 = arr1.subarray( 2 )
|
||||
<Float32Array>[ 0.0, 2.0, -2.0 ]
|
||||
|
||||
|
||||
{{alias}}.prototype.toLocaleString( [locales[, options]] )
|
||||
Serializes an array as a locale-specific string.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
locales: string|Array<string> (optional)
|
||||
A BCP 47 language tag, or an array of such tags.
|
||||
|
||||
options: Object (optional)
|
||||
Options.
|
||||
|
||||
Returns
|
||||
-------
|
||||
str: string
|
||||
A typed array string representation.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0, 0.0 ] );
|
||||
> arr.toLocaleString()
|
||||
'1,-1,0'
|
||||
|
||||
|
||||
{{alias}}.prototype.toString()
|
||||
Serializes an array as a string.
|
||||
|
||||
Returns
|
||||
-------
|
||||
str: string
|
||||
A typed array string representation.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0, 0.0 ] );
|
||||
> arr.toString()
|
||||
'1,-1,0'
|
||||
|
||||
|
||||
{{alias}}.prototype.values()
|
||||
Returns an iterator for iterating over array elements.
|
||||
|
||||
Returns
|
||||
-------
|
||||
iter: Iterator
|
||||
Iterator for iterating over array elements.
|
||||
|
||||
Examples
|
||||
--------
|
||||
> var arr = new {{alias}}( [ 1.0, -1.0 ] );
|
||||
> it = arr.values();
|
||||
> it.next().value
|
||||
1.0
|
||||
> it.next().value
|
||||
-1.0
|
||||
> it.next().done
|
||||
true
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
26
js/node_modules/@stdlib/array/float32/docs/types/index.d.ts
generated
vendored
Normal file
26
js/node_modules/@stdlib/array/float32/docs/types/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// TypeScript Version: 2.0
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
/**
|
||||
* Typed array constructor which returns a typed array representing an array of single-precision floating-point numbers in the platform byte order.
|
||||
*/
|
||||
export = Float32Array;
|
37
js/node_modules/@stdlib/array/float32/docs/types/test.ts
generated
vendored
Normal file
37
js/node_modules/@stdlib/array/float32/docs/types/test.ts
generated
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2021 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// tslint:disable: no-construct
|
||||
// tslint:disable: no-unused-expression
|
||||
|
||||
import Float32Array = require( './index' );
|
||||
|
||||
|
||||
// TESTS //
|
||||
|
||||
// The function returns a typed array instance...
|
||||
{
|
||||
new Float32Array( 10 ); // $ExpectType Float32Array
|
||||
new Float32Array( [ 2.1, 3.9, 5.2, 7.3 ] ); // $ExpectType Float32Array
|
||||
}
|
||||
|
||||
// The constructor function has to be invoked with `new`...
|
||||
{
|
||||
Float32Array( 10 ); // $ExpectError
|
||||
Float32Array( [ 2.1, 3.9, 5.2, 7.3 ] ); // $ExpectError
|
||||
}
|
28
js/node_modules/@stdlib/array/float32/lib/float32array.js
generated
vendored
Normal file
28
js/node_modules/@stdlib/array/float32/lib/float32array.js
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* @license Apache-2.0
|
||||
*
|
||||
* Copyright (c) 2018 The Stdlib Authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// MAIN //
|
||||
|
||||
var ctor = ( typeof Float32Array === 'function' ) ? Float32Array : void 0; // eslint-disable-line stdlib/require-globals
|
||||
|
||||
|
||||
// EXPORTS //
|
||||
|
||||
module.exports = ctor;
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user