README.md (11825B)
1 <!-- 2 3 @license Apache-2.0 4 5 Copyright (c) 2018 The Stdlib Authors. 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 19 --> 20 21 # Base 22 23 > Base ndarray. 24 25 <section class="usage"> 26 27 ## Usage 28 29 ```javascript 30 var ns = require( '@stdlib/ndarray/base' ); 31 ``` 32 33 #### ns 34 35 Base ndarray. 36 37 ```javascript 38 var o = ns; 39 // returns {...} 40 ``` 41 42 <!-- <toc keywords="-assertion" > --> 43 44 <div class="namespace-toc"> 45 46 - <span class="signature">[`bind2vind( shape, strides, offset, order, idx, mode )`][@stdlib/ndarray/base/bind2vind]</span><span class="delimiter">: </span><span class="description">convert a linear index in an underlying data buffer to a linear index in an array view.</span> 47 - <span class="signature">[`broadcastArray( arr, shape )`][@stdlib/ndarray/base/broadcast-array]</span><span class="delimiter">: </span><span class="description">broadcast an ndarray to a specified shape.</span> 48 - <span class="signature">[`broadcastShapes( shapes )`][@stdlib/ndarray/base/broadcast-shapes]</span><span class="delimiter">: </span><span class="description">broadcast array shapes to a single shape.</span> 49 - <span class="signature">[`bufferCtors( dtype )`][@stdlib/ndarray/base/buffer-ctors]</span><span class="delimiter">: </span><span class="description">ndarray data buffer constructors.</span> 50 - <span class="signature">[`bufferDataTypeEnum( buffer )`][@stdlib/ndarray/base/buffer-dtype-enum]</span><span class="delimiter">: </span><span class="description">return the data type enumeration constant of an ndarray data buffer.</span> 51 - <span class="signature">[`bufferDataType( buffer )`][@stdlib/ndarray/base/buffer-dtype]</span><span class="delimiter">: </span><span class="description">return the data type of an ndarray data buffer.</span> 52 - <span class="signature">[`buffer( dtype, size )`][@stdlib/ndarray/base/buffer]</span><span class="delimiter">: </span><span class="description">create a zero-filled contiguous linear ndarray data buffer.</span> 53 - <span class="signature">[`bytesPerElement( dtype )`][@stdlib/ndarray/base/bytes-per-element]</span><span class="delimiter">: </span><span class="description">return the number of bytes per element provided an underlying array data type.</span> 54 - <span class="signature">[`clampIndex( idx, max )`][@stdlib/ndarray/base/clamp-index]</span><span class="delimiter">: </span><span class="description">restrict an index to the interval `[0,max]`.</span> 55 - <span class="signature">[`ndarray( dtype, buffer, shape, strides, offset, order )`][@stdlib/ndarray/base/ctor]</span><span class="delimiter">: </span><span class="description">create a multidimensional array.</span> 56 - <span class="signature">[`dtypeChar( dtype )`][@stdlib/ndarray/base/dtype-char]</span><span class="delimiter">: </span><span class="description">return the single letter abbreviation for an underlying array data type.</span> 57 - <span class="signature">[`dtypes2signatures( dtypes, nin, nout )`][@stdlib/ndarray/base/dtypes2signatures]</span><span class="delimiter">: </span><span class="description">transform a list of array argument data types into a list of signatures.</span> 58 - <span class="signature">[`ind( idx, max, mode )`][@stdlib/ndarray/base/ind]</span><span class="delimiter">: </span><span class="description">return an index given an index mode.</span> 59 - <span class="signature">[`ind2sub( shape, strides, offset, order, idx, mode )`][@stdlib/ndarray/base/ind2sub]</span><span class="delimiter">: </span><span class="description">convert a linear index to an array of subscripts.</span> 60 - <span class="signature">[`iterationOrder( strides )`][@stdlib/ndarray/base/iteration-order]</span><span class="delimiter">: </span><span class="description">given a stride array, determine array iteration order.</span> 61 - <span class="signature">[`maxViewBufferIndex( shape, strides, offset )`][@stdlib/ndarray/base/max-view-buffer-index]</span><span class="delimiter">: </span><span class="description">compute the maximum linear index in an underlying data buffer accessible to an array view.</span> 62 - <span class="signature">[`minViewBufferIndex( shape, strides, offset )`][@stdlib/ndarray/base/min-view-buffer-index]</span><span class="delimiter">: </span><span class="description">compute the minimum linear index in an underlying data buffer accessible to an array view.</span> 63 - <span class="signature">[`minmaxViewBufferIndex( shape, strides, offset )`][@stdlib/ndarray/base/minmax-view-buffer-index]</span><span class="delimiter">: </span><span class="description">compute the minimum and maximum linear indices in an underlying data buffer which are accessible to an array view.</span> 64 - <span class="signature">[`nonsingletonDimensions( shape )`][@stdlib/ndarray/base/nonsingleton-dimensions]</span><span class="delimiter">: </span><span class="description">return the number of non-singleton dimensions.</span> 65 - <span class="signature">[`numel( shape )`][@stdlib/ndarray/base/numel]</span><span class="delimiter">: </span><span class="description">return the number of elements in an array.</span> 66 - <span class="signature">[`serializeMetaData( x )`][@stdlib/ndarray/base/serialize-meta-data]</span><span class="delimiter">: </span><span class="description">serialize ndarray meta data.</span> 67 - <span class="signature">[`shape2strides( shape, order )`][@stdlib/ndarray/base/shape2strides]</span><span class="delimiter">: </span><span class="description">generate a stride array from an array shape.</span> 68 - <span class="signature">[`singletonDimensions( shape )`][@stdlib/ndarray/base/singleton-dimensions]</span><span class="delimiter">: </span><span class="description">return the number of singleton dimensions.</span> 69 - <span class="signature">[`strides2offset( shape, strides )`][@stdlib/ndarray/base/strides2offset]</span><span class="delimiter">: </span><span class="description">determine the index offset which specifies the location of the first indexed value in a multidimensional array based on a stride array.</span> 70 - <span class="signature">[`strides2order( strides )`][@stdlib/ndarray/base/strides2order]</span><span class="delimiter">: </span><span class="description">determine the order of a multidimensional array based on a provided stride array.</span> 71 - <span class="signature">[`sub2ind( shape, strides, offset, ...subscripts, mode )`][@stdlib/ndarray/base/sub2ind]</span><span class="delimiter">: </span><span class="description">convert subscripts to a linear index.</span> 72 - <span class="signature">[`ndarray2array( buffer, shape, strides, offset, order )`][@stdlib/ndarray/base/to-array]</span><span class="delimiter">: </span><span class="description">convert an ndarray buffer to a generic array.</span> 73 - <span class="signature">[`vind2bind( shape, strides, offset, order, idx, mode )`][@stdlib/ndarray/base/vind2bind]</span><span class="delimiter">: </span><span class="description">convert a linear index in an array view to a linear index in an underlying data buffer.</span> 74 - <span class="signature">[`wrapIndex( idx, max )`][@stdlib/ndarray/base/wrap-index]</span><span class="delimiter">: </span><span class="description">wrap an index on the interval `[0,max]`.</span> 75 76 </div> 77 78 <!-- </toc> --> 79 80 The namespace contains the following sub-namespaces: 81 82 <!-- <toc pattern="*"> --> 83 84 <div class="namespace-toc"> 85 86 - <span class="signature">[`assert`][@stdlib/ndarray/base/assert]</span><span class="delimiter">: </span><span class="description">base ndarray assertion utilities.</span> 87 88 </div> 89 90 <!-- </toc> --> 91 92 </section> 93 94 <!-- /.usage --> 95 96 <section class="examples"> 97 98 ## Examples 99 100 <!-- TODO: better examples --> 101 102 <!-- eslint no-undef: "error" --> 103 104 ```javascript 105 var objectKeys = require( '@stdlib/utils/keys' ); 106 var ns = require( '@stdlib/ndarray/base' ); 107 108 console.log( objectKeys( ns ) ); 109 ``` 110 111 </section> 112 113 <!-- /.examples --> 114 115 <section class="links"> 116 117 <!-- <toc-links> --> 118 119 [@stdlib/ndarray/base/assert]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/assert 120 121 [@stdlib/ndarray/base/bind2vind]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/bind2vind 122 123 [@stdlib/ndarray/base/broadcast-array]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/broadcast-array 124 125 [@stdlib/ndarray/base/broadcast-shapes]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/broadcast-shapes 126 127 [@stdlib/ndarray/base/buffer-ctors]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/buffer-ctors 128 129 [@stdlib/ndarray/base/buffer-dtype-enum]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/buffer-dtype-enum 130 131 [@stdlib/ndarray/base/buffer-dtype]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/buffer-dtype 132 133 [@stdlib/ndarray/base/buffer]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/buffer 134 135 [@stdlib/ndarray/base/bytes-per-element]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/bytes-per-element 136 137 [@stdlib/ndarray/base/clamp-index]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/clamp-index 138 139 [@stdlib/ndarray/base/ctor]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/ctor 140 141 [@stdlib/ndarray/base/dtype-char]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/dtype-char 142 143 [@stdlib/ndarray/base/dtypes2signatures]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/dtypes2signatures 144 145 [@stdlib/ndarray/base/ind]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/ind 146 147 [@stdlib/ndarray/base/ind2sub]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/ind2sub 148 149 [@stdlib/ndarray/base/iteration-order]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/iteration-order 150 151 [@stdlib/ndarray/base/max-view-buffer-index]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/max-view-buffer-index 152 153 [@stdlib/ndarray/base/min-view-buffer-index]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/min-view-buffer-index 154 155 [@stdlib/ndarray/base/minmax-view-buffer-index]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/minmax-view-buffer-index 156 157 [@stdlib/ndarray/base/nonsingleton-dimensions]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/nonsingleton-dimensions 158 159 [@stdlib/ndarray/base/numel]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/numel 160 161 [@stdlib/ndarray/base/serialize-meta-data]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/serialize-meta-data 162 163 [@stdlib/ndarray/base/shape2strides]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/shape2strides 164 165 [@stdlib/ndarray/base/singleton-dimensions]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/singleton-dimensions 166 167 [@stdlib/ndarray/base/strides2offset]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/strides2offset 168 169 [@stdlib/ndarray/base/strides2order]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/strides2order 170 171 [@stdlib/ndarray/base/sub2ind]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/sub2ind 172 173 [@stdlib/ndarray/base/to-array]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/to-array 174 175 [@stdlib/ndarray/base/vind2bind]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/vind2bind 176 177 [@stdlib/ndarray/base/wrap-index]: https://www.npmjs.com/package/@stdlib/ndarray/tree/main/base/wrap-index 178 179 <!-- </toc-links> --> 180 181 </section> 182 183 <!-- /.links -->