UNPKG

@stdlib/array

Version:
60 lines (49 loc) 1.35 kB
/** * @license Apache-2.0 * * Copyright (c) 2021 The Stdlib Authors. * * 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. */ 'use strict'; // MODULES // var ceil = require( '@stdlib/math/base/special/ceil' ); // MAIN // /** * Generates a linearly spaced numeric array according to a provided increment. * * @param {number} x1 - first array value * @param {number} x2 - array element bound * @param {number} increment - increment * @returns {Array} linearly spaced numeric array * * @example * var arr = incrspace( 0, 11, 2 ); * // returns [ 0, 2, 4, 6, 8, 10 ] */ function incrspace( x1, x2, increment ) { var arr; var len; var i; len = ceil( ( x2-x1 ) / increment ); if ( len <= 1 ) { return [ x1 ]; } arr = [ x1 ]; for ( i = 1; i < len; i++ ) { arr.push( x1 + (increment*i) ); } return arr; } // EXPORTS // module.exports = incrspace;