Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

snap-points-2d

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

snap-points-2d - npm Package Compare versions

Comparing version
2.0.0
to
3.0.0
+2
-1
bench/bench.js

@@ -11,2 +11,3 @@ var gaussRandom = require('gauss-random')

var ids = new Int32Array(NUM_POINTS)
var weights = new Int32Array(NUM_POINTS)

@@ -18,5 +19,5 @@ for(var i=0; i<2*NUM_POINTS; ++i) {

var timeStart = Date.now()
var levels = snapPoints(points, levelQT, ids)
var levels = snapPoints(points, levelQT, ids, weights)
console.log(Date.now() - timeStart)
console.log(levels)

@@ -7,16 +7,17 @@ 'use strict'

function sortLevels(data_levels, data_points, data_ids, n0) {
function sortLevels(data_levels, data_points, data_ids, data_weights, n0) {
if (n0 <= 4*INSERT_SORT_CUTOFF) {
insertionSort(0, n0 - 1, data_levels, data_points, data_ids)
insertionSort(0, n0 - 1, data_levels, data_points, data_ids, data_weights)
} else {
quickSort(0, n0 - 1, data_levels, data_points, data_ids)
quickSort(0, n0 - 1, data_levels, data_points, data_ids, data_weights)
}
}
function insertionSort(left, right, data_levels, data_points, data_ids) {
function insertionSort(left, right, data_levels, data_points, data_ids, data_weights) {
for(var i=left+1; i<=right; ++i) {
var a_level = data_levels[i]
var a_x = data_points[2*i]
var a_y = data_points[2*i+1]
var a_id = data_ids[i]
var a_level = data_levels[i]
var a_x = data_points[2*i]
var a_y = data_points[2*i+1]
var a_id = data_ids[i]
var a_weight = data_weights[i]

@@ -34,2 +35,3 @@ var j = i

data_ids[j] = data_ids[j-1]
data_weights[j] = data_weights[j-1]
j -= 1

@@ -42,6 +44,7 @@ }

data_ids[j] = a_id
data_weights[j] = a_weight
}
}
function swap(i, j, data_levels, data_points, data_ids) {
function swap(i, j, data_levels, data_points, data_ids, data_weights) {
var a_level = data_levels[i]

@@ -51,2 +54,3 @@ var a_x = data_points[2*i]

var a_id = data_ids[i]
var a_weight = data_weights[i]

@@ -57,2 +61,3 @@ data_levels[i] = data_levels[j]

data_ids[i] = data_ids[j]
data_weights[i] = data_weights[j]

@@ -63,5 +68,6 @@ data_levels[j] = a_level

data_ids[j] = a_id
data_weights[j] = a_weight
}
function move(i, j, data_levels, data_points, data_ids) {
function move(i, j, data_levels, data_points, data_ids, data_weights) {
data_levels[i] = data_levels[j]

@@ -71,5 +77,6 @@ data_points[2*i] = data_points[2*j]

data_ids[i] = data_ids[j]
data_weights[i] = data_weights[j]
}
function rotate(i, j, k, data_levels, data_points, data_ids) {
function rotate(i, j, k, data_levels, data_points, data_ids, data_weights) {
var a_level = data_levels[i]

@@ -79,2 +86,3 @@ var a_x = data_points[2*i]

var a_id = data_ids[i]
var a_weight = data_weights[i]

@@ -85,2 +93,3 @@ data_levels[i] = data_levels[j]

data_ids[i] = data_ids[j]
data_weights[i] = data_weights[j]

@@ -91,2 +100,3 @@ data_levels[j] = data_levels[k]

data_ids[j] = data_ids[k]
data_weights[j] = data_weights[k]

@@ -97,2 +107,3 @@ data_levels[k] = a_level

data_ids[k] = a_id
data_weights[k] = a_weight
}

@@ -102,4 +113,4 @@

i, j,
a_level, a_x, a_y, a_id,
data_levels, data_points, data_ids) {
a_level, a_x, a_y, a_id, a_weight,
data_levels, data_points, data_ids, data_weights) {

@@ -110,2 +121,3 @@ data_levels[i] = data_levels[j]

data_ids[i] = data_ids[j]
data_weights[i] = data_weights[j]

@@ -116,2 +128,3 @@ data_levels[j] = a_level

data_ids[j] = a_id
data_weights[j] = a_weight
}

@@ -131,3 +144,3 @@

function quickSort(left, right, data_levels, data_points, data_ids) {
function quickSort(left, right, data_levels, data_points, data_ids, data_weights) {
var sixth = (right - left + 1) / 6 | 0,

@@ -147,3 +160,3 @@ index1 = left + sixth,

tmp = 0
if(compare(el1, el2, data_levels, data_points, data_ids)) {
if(compare(el1, el2, data_levels, data_points, data_ids, data_weights)) {
tmp = el1

@@ -153,3 +166,3 @@ el1 = el2

}
if(compare(el4, el5, data_levels, data_points, data_ids)) {
if(compare(el4, el5, data_levels, data_points, data_ids, data_weights)) {
tmp = el4

@@ -159,3 +172,3 @@ el4 = el5

}
if(compare(el1, el3, data_levels, data_points, data_ids)) {
if(compare(el1, el3, data_levels, data_points, data_ids, data_weights)) {
tmp = el1

@@ -165,3 +178,3 @@ el1 = el3

}
if(compare(el2, el3, data_levels, data_points, data_ids)) {
if(compare(el2, el3, data_levels, data_points, data_ids, data_weights)) {
tmp = el2

@@ -171,3 +184,3 @@ el2 = el3

}
if(compare(el1, el4, data_levels, data_points, data_ids)) {
if(compare(el1, el4, data_levels, data_points, data_ids, data_weights)) {
tmp = el1

@@ -177,3 +190,3 @@ el1 = el4

}
if(compare(el3, el4, data_levels, data_points, data_ids)) {
if(compare(el3, el4, data_levels, data_points, data_ids, data_weights)) {
tmp = el3

@@ -183,3 +196,3 @@ el3 = el4

}
if(compare(el2, el5, data_levels, data_points, data_ids)) {
if(compare(el2, el5, data_levels, data_points, data_ids, data_weights)) {
tmp = el2

@@ -189,3 +202,3 @@ el2 = el5

}
if(compare(el2, el3, data_levels, data_points, data_ids)) {
if(compare(el2, el3, data_levels, data_points, data_ids, data_weights)) {
tmp = el2

@@ -195,3 +208,3 @@ el2 = el3

}
if(compare(el4, el5, data_levels, data_points, data_ids)) {
if(compare(el4, el5, data_levels, data_points, data_ids, data_weights)) {
tmp = el4

@@ -206,2 +219,3 @@ el4 = el5

var pivot1_id = data_ids[el2]
var pivot1_weight = data_weights[el2]

@@ -212,2 +226,3 @@ var pivot2_level = data_levels[el4]

var pivot2_id = data_ids[el4]
var pivot2_weight = data_weights[el4]

@@ -244,4 +259,11 @@ var ptr0 = el1

move(index2, left, data_levels, data_points, data_ids)
move(index4, right, data_levels, data_points, data_ids)
var weight_x = data_weights[ptr0]
var weight_y = data_weights[ptr2]
var weight_z = data_weights[ptr4]
data_weights[ptr5] = weight_x
data_weights[ptr6] = weight_y
data_weights[ptr7] = weight_z
move(index2, left, data_levels, data_points, data_ids, data_weights)
move(index4, right, data_levels, data_points, data_ids, data_weights)
for (var k = less; k <= great; ++k) {

@@ -252,3 +274,3 @@ if (comparePivot(k,

if (k !== less) {
swap(k, less, data_levels, data_points, data_ids)
swap(k, less, data_levels, data_points, data_ids, data_weights)
}

@@ -272,7 +294,7 @@ ++less;

data_levels, data_points, data_ids)) {
rotate(k, less, great, data_levels, data_points, data_ids)
rotate(k, less, great, data_levels, data_points, data_ids, data_weights)
++less;
--great;
} else {
swap(k, great, data_levels, data_points, data_ids)
swap(k, great, data_levels, data_points, data_ids, data_weights)
--great;

@@ -286,19 +308,19 @@ }

}
shufflePivot(left, less-1, pivot1_level, pivot1_x, pivot1_y, pivot1_id, data_levels, data_points, data_ids)
shufflePivot(right, great+1, pivot2_level, pivot2_x, pivot2_y, pivot2_id, data_levels, data_points, data_ids)
shufflePivot(left, less-1, pivot1_level, pivot1_x, pivot1_y, pivot1_id, pivot1_weight, data_levels, data_points, data_ids, data_weights)
shufflePivot(right, great+1, pivot2_level, pivot2_x, pivot2_y, pivot2_id, pivot2_weight, data_levels, data_points, data_ids, data_weights)
if (less - 2 - left <= INSERT_SORT_CUTOFF) {
insertionSort(left, less - 2, data_levels, data_points, data_ids)
insertionSort(left, less - 2, data_levels, data_points, data_ids, data_weights)
} else {
quickSort(left, less - 2, data_levels, data_points, data_ids)
quickSort(left, less - 2, data_levels, data_points, data_ids, data_weights)
}
if (right - (great + 2) <= INSERT_SORT_CUTOFF) {
insertionSort(great + 2, right, data_levels, data_points, data_ids)
insertionSort(great + 2, right, data_levels, data_points, data_ids, data_weights)
} else {
quickSort(great + 2, right, data_levels, data_points, data_ids)
quickSort(great + 2, right, data_levels, data_points, data_ids, data_weights)
}
if (great - less <= INSERT_SORT_CUTOFF) {
insertionSort(less, great, data_levels, data_points, data_ids)
insertionSort(less, great, data_levels, data_points, data_ids, data_weights)
} else {
quickSort(less, great, data_levels, data_points, data_ids)
quickSort(less, great, data_levels, data_points, data_ids, data_weights)
}
}
{
"name": "snap-points-2d",
"version": "2.0.0",
"version": "3.0.0",
"description": "snap round 2d points",

@@ -5,0 +5,0 @@ "main": "snap.js",

@@ -13,3 +13,3 @@ snap-points-2d

#### `var hlod = require('snap-points-2d')(points, ids, [, bounds])`
#### `var hlod = require('snap-points-2d')(points, ids, weights, [, bounds])`
Reorders the points hierarchically such that those which are drawn at the same pixel coordinate are grouped together.

@@ -19,2 +19,3 @@

* `ids` is an array which gets the reordered index of the points
* `weights` is an array of point weights, which can be used for transparent rendering
* `bounds` is an optional array of 4 values giving the bounding box of the points

@@ -21,0 +22,0 @@

@@ -39,3 +39,3 @@ 'use strict'

function snapPoints(points, ids, bounds) {
function snapPoints(points, ids, weights, bounds) {
var n = points.length >>> 1

@@ -77,2 +77,3 @@ if(n < 1) {

var count = end - start
weights[ptr] = count
levels[ptr++] = level

@@ -98,3 +99,3 @@ for(var i=0; i<2; ++i) {

snapRec(lox, loy, diam, 0, n, 0)
sortLevels(levels, points, ids, n)
sortLevels(levels, points, ids, weights, n)

@@ -101,0 +102,0 @@ var lod = []