{"_id":"ndarray","_rev":"392413","name":"ndarray","description":"Multidimensional Arrays","dist-tags":{"latest":"1.0.19"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"time":{"modified":"2021-08-04T03:58:48.000Z","created":"2013-02-26T07:11:43.675Z","1.0.19":"2020-01-05T04:11:02.146Z","1.0.18":"2015-05-23T13:21:45.129Z","1.0.17":"2015-05-22T23:14:21.411Z","1.0.16":"2014-12-05T18:04:04.491Z","1.0.15":"2014-05-28T01:13:14.720Z","1.0.14":"2014-05-07T21:07:45.694Z","1.0.13":"2014-04-13T17:20:06.798Z","1.0.12":"2014-04-13T17:08:30.380Z","1.0.11":"2014-03-23T06:03:16.925Z","1.0.10":"2014-01-28T21:01:07.071Z","1.0.9":"2013-12-02T18:08:54.690Z","1.0.8":"2013-08-15T22:30:20.986Z","1.0.6":"2013-08-05T20:25:37.923Z","1.0.5":"2013-07-17T18:34:11.789Z","1.0.4":"2013-07-16T16:49:15.926Z","1.0.3":"2013-07-01T16:40:24.695Z","1.0.2":"2013-07-01T16:23:10.788Z","1.0.1":"2013-06-30T21:17:44.998Z","1.0.0":"2013-06-26T15:20:43.293Z","0.2.4":"2013-05-23T00:17:03.749Z","0.2.3":"2013-05-16T01:10:54.213Z","0.2.2":"2013-05-15T21:02:05.990Z","0.2.1":"2013-05-14T19:29:50.104Z","0.2.0":"2013-03-08T22:12:44.767Z","0.0.2":"2013-02-28T20:57:06.572Z","0.0.1":"2013-02-27T05:44:09.213Z","0.0.0":"2013-02-26T07:11:43.675Z"},"users":{"hughsk":true,"maxogden":true,"shama":true,"substack":true,"mikolalysenko":true,"dybskiy":true,"jarib":true,"tmpvar":true,"kael":true,"mmckegg":true,"ptx":true,"nickleefly":true,"sroccaserra":true,"kgryte":true,"isao":true,"guybrush":true,"kemitchell":true,"akiva":true,"planeshifter":true,"edin-m":true,"oncletom":true,"arteymix":true,"sappharx":true,"hugov":true,"capnslipp":true,"kakaman":true,"abt10":true,"diesis":true,"willwolffmyren":true},"author":{"name":"Mikola Lysenko"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"versions":{"1.0.19":{"name":"ndarray","version":"1.0.19","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"^1.0.0","is-buffer":"^1.0.2"},"devDependencies":{"permutation-rank":"^1.0.0","dup":"^1.0.0","invert-permutation":"^1.0.0","tape":"^2.12.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","testling":{"files":"test/*.js","browsers":["ie/10..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/6.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray#readme","_id":"ndarray@1.0.19","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","dist":{"shasum":"6785b5f5dfa58b83e31ae5b2a058cfd1ab3f694e","size":7644,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.19.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.19.tgz"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ndarray_1.0.19_1578197461995_0.572366580942024"},"_hasShrinkwrap":false,"publish_time":1578197462146,"_cnpm_publish_time":1578197462146},"1.0.18":{"name":"ndarray","version":"1.0.18","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"^1.0.0","is-buffer":"^1.0.2"},"devDependencies":{"permutation-rank":"^1.0.0","dup":"^1.0.0","invert-permutation":"^1.0.0","tape":"^2.12.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","testling":{"files":"test/*.js","browsers":["ie/10..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/6.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.18","_shasum":"b60d3a73224ec555d0faa79711e502448fd3f793","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"dist":{"shasum":"b60d3a73224ec555d0faa79711e502448fd3f793","size":7576,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.18.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.18.tgz"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1432387305129,"_cnpm_publish_time":1432387305129,"_hasShrinkwrap":false},"1.0.17":{"name":"ndarray","version":"1.0.17","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"^1.0.0","is-buffer":"^1.0.2"},"devDependencies":{"permutation-rank":"^1.0.0","dup":"^1.0.0","invert-permutation":"^1.0.0","tape":"^2.12.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","testling":{"files":"test/*.js","browsers":["ie/10..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/6.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.17","_shasum":"0e31b230f4b03a8e1ad883508891972a5899ad7d","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"dist":{"shasum":"0e31b230f4b03a8e1ad883508891972a5899ad7d","size":8005,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.17.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.17.tgz"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1432336461411,"_cnpm_publish_time":1432336461411,"_hasShrinkwrap":false},"1.0.16":{"name":"ndarray","version":"1.0.16","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"^1.0.0"},"devDependencies":{"permutation-rank":"^1.0.0","dup":"^1.0.0","invert-permutation":"^1.0.0","tape":"^2.12.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","testling":{"files":"test/*.js","browsers":["ie/10..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/6.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.16","_shasum":"647e157a51f8c912e24622f1e774c1408092fe9a","_from":".","_npmVersion":"2.1.4","_nodeVersion":"0.10.26","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"dist":{"shasum":"647e157a51f8c912e24622f1e774c1408092fe9a","size":7617,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.16.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.16.tgz"},"publish_time":1417802644491,"_cnpm_publish_time":1417802644491,"_hasShrinkwrap":false},"1.0.15":{"name":"ndarray","version":"1.0.15","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"^1.0.0"},"devDependencies":{"permutation-rank":"^1.0.0","dup":"^1.0.0","invert-permutation":"^1.0.0","tape":"^2.12.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","testling":{"files":"test/*.js","browsers":["ie/10..latest","firefox/17..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/6.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.15","dist":{"shasum":"5309769970da0cf56fcedb21003b1bbd33a5de7a","size":8044,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.15.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1401239594720,"_cnpm_publish_time":1401239594720,"_hasShrinkwrap":false},"1.0.14":{"name":"ndarray","version":"1.0.14","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"^1.0.0"},"devDependencies":{"permutation-rank":"^1.0.0","dup":"^1.0.0","invert-permutation":"^1.0.0","tape":"^2.12.3"},"scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.14","dist":{"shasum":"63953253018e81c0f3b40cd205b772435717917f","size":7820,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.14.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1399496865694,"_cnpm_publish_time":1399496865694,"_hasShrinkwrap":false},"1.0.13":{"name":"ndarray","version":"1.0.13","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.13","dist":{"shasum":"ca057aad91c3156c7447d91c5b95b3b6a13c0a4d","size":7790,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.13.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1397409606798,"_cnpm_publish_time":1397409606798,"_hasShrinkwrap":false},"1.0.12":{"name":"ndarray","version":"1.0.12","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.12","dist":{"shasum":"5277b2e3a78a533150c2373093b9886473864f13","size":7649,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.12.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1397408910380,"_cnpm_publish_time":1397408910380,"_hasShrinkwrap":false},"1.0.11":{"name":"ndarray","version":"1.0.11","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.11","dist":{"shasum":"376ff5bf9c8e3f8c33180657c11e60c840fbdb2d","size":7396,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.11.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1395554596925,"_cnpm_publish_time":1395554596925,"_hasShrinkwrap":false},"1.0.10":{"name":"ndarray","version":"1.0.10","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.10","dist":{"shasum":"2ab2946424908393d3130c5201fb4b6bc899897d","size":7345,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.10.tgz"},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1390942867071,"_cnpm_publish_time":1390942867071,"_hasShrinkwrap":false},"1.0.9":{"name":"ndarray","version":"1.0.9","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"homepage":"https://github.com/mikolalysenko/ndarray","_id":"ndarray@1.0.9","dist":{"shasum":"a8a13d763c737b3b7ddd971fb7266f86653a6b7c","size":7266,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.9.tgz"},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1386007734690,"_cnpm_publish_time":1386007734690,"_hasShrinkwrap":false},"1.0.8":{"name":"ndarray","version":"1.0.8","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"_id":"ndarray@1.0.8","dist":{"shasum":"d1e9e4eed6609a33f9ae1ec13cd5e2e8cb223f97","size":7193,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.8.tgz"},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1376605820986,"_cnpm_publish_time":1376605820986,"_hasShrinkwrap":false},"1.0.6":{"name":"ndarray","version":"1.0.6","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"_id":"ndarray@1.0.6","dist":{"shasum":"2f2c4f303fe60676f0b260fe540ed058688b679b","size":7181,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.6.tgz"},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1375734337923,"_cnpm_publish_time":1375734337923,"_hasShrinkwrap":false},"1.0.5":{"name":"ndarray","version":"1.0.5","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"_id":"ndarray@1.0.5","dist":{"shasum":"fa9bd6073c231afb7f7a149b4ae3b564185148d3","size":7106,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.5.tgz"},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1374086051789,"_cnpm_publish_time":1374086051789,"_hasShrinkwrap":false},"1.0.4":{"name":"ndarray","version":"1.0.4","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"_id":"ndarray@1.0.4","dist":{"shasum":"50fc9a801f4a93bf0107eb3e2e51426135946b7c","size":7082,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.4.tgz"},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1373993355926,"_cnpm_publish_time":1373993355926,"_hasShrinkwrap":false},"1.0.3":{"name":"ndarray","version":"1.0.3","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"_id":"ndarray@1.0.3","dist":{"shasum":"86a0198e95578c9342348d372035631078997ea5","size":6479,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.3.tgz"},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1372696824695,"_cnpm_publish_time":1372696824695,"_hasShrinkwrap":false},"1.0.2":{"name":"ndarray","version":"1.0.2","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4","permutation-rank":"0.0.0","dup":"0.0.0","invert-permutation":"0.0.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"_id":"ndarray@1.0.2","dist":{"shasum":"0f293d5685c9da6ecf52668d7b698199f06b7f34","size":6524,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.2.tgz"},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1372695790788,"_cnpm_publish_time":1372695790788,"_hasShrinkwrap":false},"1.0.1":{"name":"ndarray","version":"1.0.1","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"_id":"ndarray@1.0.1","dist":{"shasum":"90fa8793663225a384e3cdb93bbd4004329bcdde","size":6467,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.1.tgz"},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1372627064998,"_cnpm_publish_time":1372627064998,"_hasShrinkwrap":false},"1.0.0":{"name":"ndarray","version":"1.0.0","description":"Multidimensional Arrays","main":"ndarray.js","directories":{"test":"test"},"dependencies":{"iota-array":"~0.0.0"},"devDependencies":{"tap":"~0.4.0","tape":"~1.0.4"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"_id":"ndarray@1.0.0","dist":{"shasum":"b8b0650d9afdbd321e8041caa4eab61d9e209bd7","size":6286,"noattachment":false,"key":"/ndarray/-/ndarray-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-1.0.0.tgz"},"_from":".","_npmVersion":"1.2.24","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1372260043293,"_cnpm_publish_time":1372260043293,"_hasShrinkwrap":false},"0.2.4":{"name":"ndarray","version":"0.2.4","description":"Multidimensional Arrays","main":"index.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","_id":"ndarray@0.2.4","dist":{"shasum":"3ca49816bc9b10f5a2fa976d0f7628416ba72bf9","size":8245,"noattachment":false,"key":"/ndarray/-/ndarray-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-0.2.4.tgz"},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1369268223749,"_cnpm_publish_time":1369268223749,"_hasShrinkwrap":false},"0.2.3":{"name":"ndarray","version":"0.2.3","description":"Multidimensional Arrays","main":"index.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","_id":"ndarray@0.2.3","dist":{"shasum":"5c0c33a0ac36453eba08471f94da3186d03a5fde","size":8127,"noattachment":false,"key":"/ndarray/-/ndarray-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-0.2.3.tgz"},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1368666654213,"_cnpm_publish_time":1368666654213,"_hasShrinkwrap":false},"0.2.2":{"name":"ndarray","version":"0.2.2","description":"Multidimensional Arrays","main":"index.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","_id":"ndarray@0.2.2","dist":{"shasum":"afd6d7b9452ced287f2bc608ec57561ec6be4100","size":7994,"noattachment":false,"key":"/ndarray/-/ndarray-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-0.2.2.tgz"},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1368651725990,"_cnpm_publish_time":1368651725990,"_hasShrinkwrap":false},"0.2.1":{"name":"ndarray","version":"0.2.1","description":"Multidimensional Arrays","main":"index.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","_id":"ndarray@0.2.1","dist":{"shasum":"6534ae002cce427f3498e77f65b304525e31096b","size":7870,"noattachment":false,"key":"/ndarray/-/ndarray-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-0.2.1.tgz"},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1368559790104,"_cnpm_publish_time":1368559790104,"_hasShrinkwrap":false},"0.2.0":{"name":"ndarray","version":"0.2.0","description":"Multidimensional Arrays","main":"index.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","_id":"ndarray@0.2.0","dist":{"shasum":"a363913b233894f71b2c73545e2f8ab43fcd099c","size":6768,"noattachment":false,"key":"/ndarray/-/ndarray-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-0.2.0.tgz"},"_npmVersion":"1.1.69","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1362780764767,"_cnpm_publish_time":1362780764767,"_hasShrinkwrap":false},"0.0.2":{"name":"ndarray","version":"0.0.2","description":"Multidimensional Arrays","main":"index.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","_id":"ndarray@0.0.2","dist":{"shasum":"fe7addc37282b0c7c9eedf00ab96b5194e72348c","size":8033,"noattachment":false,"key":"/ndarray/-/ndarray-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-0.0.2.tgz"},"_npmVersion":"1.1.69","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1362085026572,"_cnpm_publish_time":1362085026572,"_hasShrinkwrap":false},"0.0.1":{"name":"ndarray","version":"0.0.1","description":"Multidimensional Arrays","main":"index.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","_id":"ndarray@0.0.1","dist":{"shasum":"a7a8729d4e9f8885e2997e196b8191d292a2ba32","size":8129,"noattachment":false,"key":"/ndarray/-/ndarray-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-0.0.1.tgz"},"_npmVersion":"1.1.69","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1361943849213,"_cnpm_publish_time":1361943849213,"_hasShrinkwrap":false},"0.0.0":{"name":"ndarray","version":"0.0.0","description":"Multidimensional Arrays","main":"index.js","directories":{"test":"test"},"dependencies":{},"devDependencies":{"tap":"~0.4.0"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/mikolalysenko/ndarray.git"},"keywords":["ndarray","array","multi","multidimensional","dimension","higher","image","volume","webgl","tensor","matrix","linear","algebra","science","numerical","computing","stride","shape"],"author":{"name":"Mikola Lysenko"},"license":"MIT","readmeFilename":"README.md","gitHead":"a85785ca7a7e12c3fc29671a4f7c214bebc4ddc7","_id":"ndarray@0.0.0","dist":{"shasum":"10593bdc473b94e398635206feb16040844c76be","size":5601,"noattachment":false,"key":"/ndarray/-/ndarray-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/ndarray/download/ndarray-0.0.0.tgz"},"_npmVersion":"1.1.69","_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"jaspervdg","email":"th.v.d.gronde@hccnet.nl"},{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"planeshifter","email":"pgb@andrew.cmu.edu"},{"name":"rreusser","email":"rsreusser@gmail.com"}],"publish_time":1361862703675,"_cnpm_publish_time":1361862703675,"_hasShrinkwrap":false}},"readme":"ndarray\n=======\nModular multidimensional arrays for JavaScript. \n\n[![browser support](https://ci.testling.com/mikolalysenko/ndarray.png)\n](https://ci.testling.com/mikolalysenko/ndarray)\n\n[![build status](https://secure.travis-ci.org/scijs/ndarray.png)](http://travis-ci.org/scijs/ndarray)\n\n[![stable](https://rawgithub.com/hughsk/stability-badges/master/dist/frozen.svg)](http://github.com/hughsk/stability-badges)\n\n##### Browse a number of ndarray-compatible modules in the [scijs documentation](http://scijs.net/packages)\n##### Coming from MATLAB or numpy? See: [scijs/ndarray for MATLAB users](https://github.com/scijs/scijs-ndarray-for-matlab-users)\n##### [Big list of ndarray modules](https://github.com/scijs/ndarray/wiki/ndarray-module-list#core-module)\n\nIntroduction\n============\n`ndarrays` provide higher dimensional views of 1D arrays.  For example, here is how you can turn a length 4 typed array into an nd-array:\n\n```javascript\nvar mat = ndarray(new Float64Array([1, 0, 0, 1]), [2,2])\n\n//Now:\n//\n// mat = 1 0\n//       0 1\n//\n```\n\nOnce you have an nd-array you can access elements using `.set` and `.get`.  For example, here is an implementation of [Conway's game of life](http://en.wikipedia.org/wiki/Conway's_Game_of_Life) using ndarrays:\n\n```javascript\nfunction stepLife(next_state, cur_state) {\n\n  //Get array shape\n  var nx = cur_state.shape[0], \n      ny = cur_state.shape[1]\n\n  //Loop over all cells\n  for(var i=1; i<nx-1; ++i) {\n    for(var j=1; j<ny-1; ++j) {\n\n      //Count neighbors\n      var n = 0\n      for(var dx=-1; dx<=1; ++dx) {\n        for(var dy=-1; dy<=1; ++dy) {\n          if(dx === 0 && dy === 0) {\n            continue\n          }\n          n += cur_state.get(i+dx, j+dy)\n        }\n      }\n      \n      //Update state according to rule\n      if(n === 3 || n === 3 + cur_state.get(i,j)) {\n        next_state.set(i,j,1)\n      } else {\n        next_state.set(i,j,0)\n      }\n    }\n  }\n}\n```\n\nYou can also pull out views of ndarrays without copying the underlying elements.  Here is an example showing how to update part of a subarray:\n\n```javascript\nvar x = ndarray(new Float32Array(25), [5, 5])\nvar y = x.hi(4,4).lo(1,1)\n\nfor(var i=0; i<y.shape[0]; ++i) {\n  for(var j=0; j<y.shape[1]; ++j) {\n    y.set(i,j,1)\n  }\n}\n\n//Now:\n//    x = 0 0 0 0 0\n//        0 1 1 1 0\n//        0 1 1 1 0\n//        0 1 1 1 0\n//        0 0 0 0 0\n```\n\nndarrays can be transposed, flipped, sheared and sliced in constant time per operation. They are useful for representing images, audio, volume graphics, matrices, strings and much more. They work both in node.js and with [browserify](http://browserify.org/).\n\nInstall\n=======\nInstall the library using [npm](http://npmjs.org):\n\n```sh\nnpm install ndarray\n```\n\nYou can also use ndarrays in a browser with any tool that follows the CommonJS/node module conventions.  The most direct way to do this is to use [browserify](https://github.com/substack/node-browserify).  If you want live-reloading for faster debugging, check out [beefy](https://github.com/chrisdickinson/beefy).\n\nAPI\n===\nOnce you have ndarray installed, you can use it in your project as follows:\n\n```javascript\nvar ndarray = require(\"ndarray\")\n```\n\n## Constructor\n\n### `ndarray(data[, shape, stride, offset])`\nThe default `module.exports` method is the constructor for ndarrays.  It creates an n-dimensional array view wrapping an underlying storage type\n\n* `data` is a 1D array storage.  It is either an instance of `Array`, a typed array, or an object that implements `get(), set(), .length`\n* `shape` is the shape of the view (Default: `data.length`)\n* `stride` is the resulting stride of the new array.  (Default: row major)\n* `offset` is the offset to start the view (Default: `0`)\n\n**Returns** an n-dimensional array view of the buffer\n\n## Members\n\nThe central concept in `ndarray` is the idea of a view.  The way these work is very similar to [SciPy's array slices](http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html).  Views are affine projections to 1D storage types.  To better understand what this means, let's first look at the properties of the view object.  It has exactly 4 variables:\n\n* `array.data` - The underlying 1D storage for the multidimensional array\n* `array.shape` - The shape of the typed array\n* `array.stride` - The layout of the typed array in memory\n* `array.offset` - The starting offset of the array in memory\n\nKeeping a separate stride means that we can use the same data structure to support both [row major and column major storage](http://en.wikipedia.org/wiki/Row-major_order)\n\n## Element Access\nTo access elements of the array, you can use the `set/get` methods:\n\n### `array.get(i,j,...)`\nRetrieves element `i,j,...` from the array.  In psuedocode, this is implemented as follows:\n\n```javascript\nfunction get(i,j,...) {\n  return this.data[this.offset + this.stride[0] * i + this.stride[1] * j + ... ]\n}\n```\n\n### `array.set(i,j,...,v)`\nSets element `i,j,...` to `v`. Again, in psuedocode this works like this:\n\n```javascript\nfunction set(i,j,...,v) {\n  return this.data[this.offset + this.stride[0] * i + this.stride[1] * j + ... ] = v\n}\n```\n\n### `array.index(i,j, ...)`\nRetrieves the index of the cell in the underlying ndarray.  In JS,\n\n```javascript\nfunction index(i,j, ...) {\n  return this.offset + this.stride[0] * i + this.stride[1] * j + ...\n}\n```\n\n## Properties\nThe following properties are created using Object.defineProperty and do not take up any physical memory.  They can be useful in calculations involving ndarrays\n\n### `array.dtype`\nReturns a string representing the undelying data type of the ndarray.  Excluding generic data stores these types are compatible with [`typedarray-pool`](https://github.com/mikolalysenko/typedarray-pool).  This is mapped according to the following rules:\n\nData type | String\n--------: | :-----\n`Int8Array` | \"int8\"\n`Int16Array` | \"int16\"\n`Int32Array` | \"int32\"\n`Uint8Array` | \"uint8\"\n`Uint16Array` | \"uint16\"\n`Uint32Array` | \"uint32\"\n`BigInt64Array` | \"bigint64\"\n`BigUint64Array` | \"biguint64\"\n`Float32Array` | \"float32\"\n`Float64Array` | \"float64\"\n`Array` | \"array\"\n`Uint8ArrayClamped` | \"uint8_clamped\"\n`Buffer` | \"buffer\"\nOther | \"generic\"\n\nGeneric arrays access elements of the underlying 1D store using get()/set() instead of array accessors.\n\n### `array.size`\nReturns the size of the array in logical elements.\n\n### `array.order`\nReturns the order of the stride of the array, sorted in ascending length. The first element is the first index of the shortest stride and the last is the index the longest stride.\n\n### `array.dimension`\nReturns the dimension of the array.\n\n## Slicing\nGiven a view, we can change the indexing by shifting, truncating or permuting the strides.  This lets us perform operations like array reversals or matrix transpose in **constant time** (well, technically `O(shape.length)`, but since shape.length is typically less than 4, it might as well be).  To make life simpler, the following interfaces are exposed:\n\n### `array.lo(i,j,k,...)`\nThis creates a shifted view of the array.  Think of it as taking the upper left corner of the image and dragging it inward by an amount equal to `(i,j,k...)`.\n\n### `array.hi(i,j,k,...)`\nThis does the dual of `array.lo()`.  Instead of shifting from the top-left, it truncates from the bottom-right of the array, returning a smaller array object.   Using `hi` and `lo` in combination lets you select ranges in the middle of an array.\n\n**Note:**  `hi` and `lo` do not commute.   In general:\n\n```javascript\na.hi(3,3).lo(3,3)  !=  a.lo(3,3).hi(3,3)\n```\n\n### `array.step(i,j,k...)`\nChanges the stride length by rescaling.  Negative indices flip axes.  For example, here is how you create a reversed view of a 1D array:\n\n```javascript\nvar reversed = a.step(-1)\n```\n\nYou can also change the step size to be greater than 1 if you like, letting you skip entries of a list.  For example, here is how to split an array into even and odd components:\n\n```javascript\nvar evens = a.step(2)\nvar odds = a.lo(1).step(2)\n```\n\n### `array.transpose(p0, p1, ...)`\nFinally, for higher dimensional arrays you can transpose the indices without replicating the data.  This has the effect of permuting the shape and stride values and placing the result in a new view of the same data.  For example, in a 2D array you can calculate the matrix transpose by:\n\n```javascript\nM.transpose(1, 0)\n```\n\nOr if you have a 3D volume image, you can shift the axes using more generic transformations:\n\n```javascript\nvolume.transpose(2, 0, 1)\n```\n\n### `array.pick(p0, p1, ...)`\nYou can also pull out a subarray from an ndarray by fixing a particular axis.  The way this works is you specify the direction you are picking by giving a list of values.  For example, if you have an image stored as an nxmx3 array you can pull out the channel as follows:\n\n```javascript\nvar red   = image.pick(null, null, 0)\nvar green = image.pick(null, null, 1)\nvar blue  = image.pick(null, null, 2)\n```\n\nAs the above example illustrates, passing a negative or non-numeric value to a coordinate in pick skips that index.\n\n# More information\n\nFor more discussion about ndarrays, here are some talks, tutorials and articles about them:\n\n* [ndarray presentation](http://mikolalysenko.github.io/ndarray-presentation/)\n* [Implementing multidimensional arrays in JavaScript](http://0fps.wordpress.com/2013/05/22/implementing-multidimensional-arrays-in-javascript/)\n* [Cache oblivious array operations](http://0fps.wordpress.com/2013/05/28/cache-oblivious-array-operations/)\n* [Some experiments](https://github.com/mikolalysenko/ndarray-experiments)\n\nLicense\n=======\n(c) 2013-2016 Mikola Lysenko. MIT License\n","_attachments":{},"homepage":"https://github.com/mikolalysenko/ndarray#readme","bugs":{"url":"https://github.com/mikolalysenko/ndarray/issues"},"license":"MIT"}