@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.56 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import t from"./../assert/is-ndarray-like.js";import e from"./../assert/is-array-like-object.js";import r from"./../assert/is-float64array.js";import a from"./../assert/is-float32array.js";import s from"./base/ddot.js";import n from"./base/sdot.js";import i from"./base/gdot.js";var o=t,d=e,f=r,l=a,m=s.ndarray,g=n.ndarray,h=i.ndarray;function u(t,e){var r,a,s,n,i,u,y,j;if(i=o(t),y=o(e),u=i&&1===t.ndims&&1===t.strides.length,j=y&&1===e.ndims&&1===e.strides.length,u)a=!(r=f(t.data))&&l(t.data);else{if(!1!==i||!d(t))throw new TypeError("invalid argument. First argument must be either an array-like object or a 1-dimensional ndarray. Value: `"+t+"`.");a=!(r=f(t))&&l(t)}if(j)n=!(s=f(e.data))&&l(e.data);else{if(!1!==y||!d(e))throw new TypeError("invalid argument. Second argument must be either an array-like object or a 1-dimensional ndarray. Value: `"+e+"`.");n=!(s=f(e))&&l(e)}if(t.length!==e.length)throw new RangeError("invalid argument. Arrays must be the same length. First argument length: "+t.length+". Second argument length: "+e.length+".");return u&&j?r&&s?m(t.length,t.data,t.strides[0],t.offset,e.data,e.strides[0],e.offset):a&&n?g(t.length,t.data,t.strides[0],t.offset,e.data,e.strides[0],e.offset):h(t.length,t.data,t.strides[0],t.offset,e.data,e.strides[0],e.offset):u?h(t.length,t.data,t.strides[0],t.offset,e,1,0):j?h(t.length,t,1,0,e.data,e.strides[0],e.offset):h(t.length,t,1,0,e,1,0)}export default u;
//# sourceMappingURL=gdot.js.map