src/core/convert/trim_natural.js
- import _alloc from '../array/_alloc.js';
- import _copy from '../array/_copy.js';
- import _trim_positive from './_trim_positive.js';
-
- /**
- * Trim a limb array so that it is either [0] or does not start with any
- * leading zeros. Return a newly allocated array and does not modify the input.
- *
- * @param {number[]} a The input limb array.
- * @param {number} ai
- * @param {number} aj
- *
- * @return {number[]} The input but trimmed.
- */
- export default function trim_natural(a, ai, aj) {
- const x = _trim_positive(a, ai, aj);
-
- if (x >= aj) return [0];
-
- const b = _alloc(aj - x);
-
- _copy(a, x, aj, b, 0);
-
- return b;
- }