copyFrom(data) {
	        if (data instanceof NDArray) {
	            this.lib.checkCall(this.lib.exports.TVMArrayCopyFromTo(data.getHandle(), this.getHandle(), 0));
	            return this;
	        }
	        else {
	            const size = this.shape.reduce((a, b) => {
	                return a * b;
	            }, 1);
	            if (data.length != size) {
	                throw new Error("data size and shape mismatch data.length" +
	                    data.length +
	                    " vs " +
	                    size);
	            }
	            let buffer;
	            if (this.dtype == "float32") {
	                buffer = Float32Array.from(data).buffer;
	            }
	            else if (this.dtype == "float64") {
	                buffer = Float64Array.from(data).buffer;
	            }
	            else if (this.dtype == "int32") {
	                buffer = Int32Array.from(data).buffer;
	            }
	            else if (this.dtype == "int8") {
	                buffer = Int8Array.from(data).buffer;
	            }
	            else if (this.dtype == "uint8") {
	                buffer = Uint8Array.from(data).buffer;
	            }
	            else {
	                throw new Error("Unsupported data type " + this.dtype);
	            }
	            return this.copyFromRawBytes(new Uint8Array(buffer));
	        }
	    }
Copy data from another NDArray or javascript array.
The number of elements must match.

@param data The source data array.
@returns this