// Copyright 2014 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. Array.prototype.getStaggeredFromMiddle = function(i) { if (i >= this.length) { throw("getStaggeredFromMiddle: OOB"); } var middle = Math.floor(this.length / 2); var index = middle + (((i % 2) == 0) ? (i / 2) : (((1 - i) / 2) - 1)); return this[index]; } Array.prototype.contains = function(obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; } Math.alignUp = function(raw, multiple) { return Math.floor((raw + multiple - 1) / multiple) * multiple; }