Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function lod (lox, loy, hix, hiy, maxLevel) {
let ranges = []
for (let level = 0; level < maxLevel; level++) {
let levelGroups = groups[level]
let from = offsets[level][0]
let levelGroupStart = group(lox, loy, level)
let levelGroupEnd = group(hix, hiy, level)
// FIXME: utilize sublevels to speed up search range here
let startOffset = search.ge(levelGroups, levelGroupStart)
let endOffset = search.gt(levelGroups, levelGroupEnd, startOffset, levelGroups.length - 1)
ranges[level] = [startOffset + from, endOffset + from]
}
return ranges
}
function addPoint(cells, hulls, points, p, idx) {
var lo = bsearch.lt(hulls, p, testPoint)
var hi = bsearch.gt(hulls, p, testPoint)
for(var i=lo; i 1 && orient(
points[lowerIds[m-2]],
points[lowerIds[m-1]],
p) > 0) {
cells.push(
[lowerIds[m-1],
lowerIds[m-2],
idx])
m -= 1
}
async joinChannel(event) {
let channel
if (event.type === 'group_open') {
const group = (await this.rtm.webClient.conversations.info({channel: event.channel})).channel
channel = new SlackChannel(this, group)
} else {
channel = new SlackChannel(this, event.channel)
}
const i = bounds.gt(this.channels, channel, compareChannel)
this.channels.splice(i, 0, channel)
this.onAddChannel.dispatch(i, channel)
}
uniforms.dataScale = DATA_SCALE
var tickMarkLength = plot.tickMarkLength
var tickMarkWidth = plot.tickMarkWidth
var tickMarkColor = plot.tickMarkColor
var xTicksOffset = 0
var yTicksOffset = ticks[0].length * 6
var xStart = Math.min(bsearch.ge(ticks[0], (dataBox[0] - bounds[0]) / (bounds[2] - bounds[0]), compareTickNum), ticks[0].length)
var xEnd = Math.min(bsearch.gt(ticks[0], (dataBox[2] - bounds[0]) / (bounds[2] - bounds[0]), compareTickNum), ticks[0].length)
var xOffset = xTicksOffset + 6 * xStart
var xCount = 6 * Math.max(0, xEnd - xStart)
var yStart = Math.min(bsearch.ge(ticks[1], (dataBox[1] - bounds[1]) / (bounds[3] - bounds[1]), compareTickNum), ticks[1].length)
var yEnd = Math.min(bsearch.gt(ticks[1], (dataBox[3] - bounds[1]) / (bounds[3] - bounds[1]), compareTickNum), ticks[1].length)
var yOffset = yTicksOffset + 6 * yStart
var yCount = 6 * Math.max(0, yEnd - yStart)
SCR_OFFSET[0] = 2.0 * (viewBox[0] - tickMarkLength[1]) / screenWidth - 1.0
SCR_OFFSET[1] = (viewBox[3] + viewBox[1]) / screenHeight - 1.0
TICK_SCALE[0] = tickMarkLength[1] * pixelRatio / screenWidth
TICK_SCALE[1] = tickMarkWidth[1] * pixelRatio / screenHeight
if(yCount) {
uniforms.color = tickMarkColor[1]
uniforms.tickScale = TICK_SCALE
uniforms.dataAxis = Y_AXIS
uniforms.screenOffset = SCR_OFFSET
gl.drawArrays(gl.TRIANGLES, yOffset, yCount)
}
function findNextIndexForTime(time: number, frames: Frame[]) {
return bounds.gt(frames, frames[0], (frame: Frame) => {
return frame.time - time
})
}
proto.flush = function(t) {
var idx = bsearch.gt(this._time, t) - 1
if(idx <= 0) {
return
}
this._time.splice(0, idx)
this._state.splice(0, idx * this.dimension)
this._velocity.splice(0, idx * this.dimension)
}
function addPoint(cells, hulls, points, p, idx) {
var lo = bsearch.lt(hulls, p, testPoint)
var hi = bsearch.gt(hulls, p, testPoint)
for(var i=lo; i 1 && orient(
points[lowerIds[m-2]],
points[lowerIds[m-1]],
p) >= 0) {
cells.push(
[lowerIds[m-1],
lowerIds[m-2],
idx])
m -= 1
}
function insertEdge(list, e) {
list.splice(bounds.gt(list, e, compareEdges), 0, e)
}