UNPKG

@tensorflow/tfjs-node

Version:

This repository provides native TensorFlow execution in backend JavaScript applications under the Node.js runtime, accelerated by the TensorFlow C binary under the hood. It provides the same API as [TensorFlow.js](https://js.tensorflow.org/api/latest/).

67 lines (66 loc) 3.08 kB
"use strict"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. * 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. * ============================================================================= */ Object.defineProperty(exports, "__esModule", { value: true }); var int64_tensors_1 = require("./int64_tensors"); describe('int64 tensors', function () { it('positive value', function () { var x = new int64_tensors_1.Int64Scalar(42); expect(x.dtype).toEqual('int64'); var valueArray = x.valueArray; expect(valueArray.constructor.name).toEqual('Int32Array'); expect(valueArray.length).toEqual(2); expect(valueArray[0]).toEqual(42); expect(valueArray[1]).toEqual(0); }); it('zero value', function () { var x = new int64_tensors_1.Int64Scalar(0); expect(x.dtype).toEqual('int64'); var valueArray = x.valueArray; expect(valueArray.constructor.name).toEqual('Int32Array'); expect(valueArray.length).toEqual(2); expect(valueArray[0]).toEqual(0); expect(valueArray[1]).toEqual(0); }); it('negative value', function () { var x = new int64_tensors_1.Int64Scalar(-3); expect(x.dtype).toEqual('int64'); var valueArray = x.valueArray; expect(valueArray.constructor.name).toEqual('Int32Array'); expect(valueArray.length).toEqual(2); expect(valueArray[0]).toEqual(-3); expect(valueArray[1]).toEqual(-1); }); it('Non-integer value leads to error', function () { expect(function () { return new int64_tensors_1.Int64Scalar(0.4); }).toThrowError(/integer/); expect(function () { return new int64_tensors_1.Int64Scalar(-3.2); }).toThrowError(/integer/); }); it('Out-of-bound value leads to error', function () { expect(function () { return new int64_tensors_1.Int64Scalar(2147483648); }).toThrowError(/bound/); expect(function () { return new int64_tensors_1.Int64Scalar(2147483648 * 2); }).toThrowError(/bound/); expect(function () { return new int64_tensors_1.Int64Scalar(-2147483648 - 1); }).toThrowError(/bound/); }); it('encode int32array as int64 layout', function () { var input = Int32Array.from([2, 10]); var valueArray = (0, int64_tensors_1.encodeInt32ArrayAsInt64)(input); expect(valueArray.length).toEqual(4); expect(valueArray[0]).toEqual(2); expect(valueArray[1]).toEqual(0); expect(valueArray[2]).toEqual(10); expect(valueArray[3]).toEqual(0); }); });