mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Style cleanup, vars, etc.
This commit is contained in:
@@ -694,32 +694,32 @@ LocalCollection._findInOrderedResults = function (query, doc) {
|
||||
throw Error("object missing from query");
|
||||
};
|
||||
|
||||
//This binary search puts a value between any equal values, and the first
|
||||
//lesser value. This is to match the previous insertion behaviour of comparing
|
||||
//each element and inserting it as soon as it compares less than the
|
||||
//encountered value.
|
||||
// This binary search puts a value between any equal values, and the first
|
||||
// lesser value. This is to match the previous insertion behaviour of comparing
|
||||
// each element and inserting it as soon as it compares less than the
|
||||
// encountered value.
|
||||
LocalCollection._binarySearch = function (cmp, array, value) {
|
||||
if (array.length == 0) return 0;
|
||||
lower = 0;
|
||||
upper = array.length - 1;
|
||||
if (array.length === 0) return 0;
|
||||
var lower = 0;
|
||||
var upper = array.length - 1;
|
||||
|
||||
while (lower <= upper) {
|
||||
idx = Math.floor( (lower + upper) / 2 );
|
||||
comparison = cmp(value, array[idx]);
|
||||
//console.log("lower:"+lower + " upper:" + upper + " idx:"+idx +" c:"+comparison);
|
||||
if (lower == upper) {
|
||||
var idx = Math.floor( (lower + upper) / 2 );
|
||||
var comparison = cmp(value, array[idx]);
|
||||
if (lower === upper) {
|
||||
if (comparison >= 0) idx++;
|
||||
return idx;
|
||||
}
|
||||
|
||||
if ( comparison < 0 )
|
||||
if (comparison < 0)
|
||||
upper = idx;
|
||||
else
|
||||
lower = idx + 1;
|
||||
}
|
||||
|
||||
return idx;
|
||||
}
|
||||
// The loop should always end with the lower === upper case.
|
||||
throw new Error("shouldn't happen");
|
||||
};
|
||||
|
||||
LocalCollection._insertInSortedList = function (cmp, array, value) {
|
||||
if (array.length === 0) {
|
||||
@@ -727,7 +727,7 @@ LocalCollection._insertInSortedList = function (cmp, array, value) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
idx = LocalCollection._binarySearch (cmp, array, value)
|
||||
var idx = LocalCollection._binarySearch(cmp, array, value);
|
||||
array.splice(idx, 0, value);
|
||||
return idx;
|
||||
};
|
||||
|
||||
@@ -1049,66 +1049,60 @@ Tinytest.add("minimongo - array sort", function (test) {
|
||||
});
|
||||
|
||||
Tinytest.add("minimongo - binary search", function (test) {
|
||||
var forward_cmp = function (a, b) {
|
||||
if (a < b)
|
||||
return -1;
|
||||
else if (b < a)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
var forwardCmp = function (a, b) {
|
||||
return a - b;
|
||||
};
|
||||
|
||||
var backward_cmp = function (a, b) {
|
||||
return -1 * forward_cmp(a, b);
|
||||
var backwardCmp = function (a, b) {
|
||||
return -1 * forwardCmp(a, b);
|
||||
};
|
||||
|
||||
var check_search = function (cmp, array, value, expected, message) {
|
||||
actual = LocalCollection._binarySearch(cmp, array, value);
|
||||
var checkSearch = function (cmp, array, value, expected, message) {
|
||||
var actual = LocalCollection._binarySearch(cmp, array, value);
|
||||
if (expected != actual) {
|
||||
test.fail({type: "minimongo-binary-search",
|
||||
message: message + " : Expected index " + expected +
|
||||
" but had " + actual
|
||||
message: message + " : Expected index " + expected +
|
||||
" but had " + actual
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var check_search_forward = function (array, value, expected, message) {
|
||||
check_search(forward_cmp, array, value, expected, message);
|
||||
var checkSearchForward = function (array, value, expected, message) {
|
||||
checkSearch(forwardCmp, array, value, expected, message);
|
||||
}
|
||||
var check_search_backward = function (array, value, expected, message) {
|
||||
check_search(backward_cmp, array, value, expected, message);
|
||||
var checkSearchBackward = function (array, value, expected, message) {
|
||||
checkSearch(backwardCmp, array, value, expected, message);
|
||||
}
|
||||
|
||||
check_search_forward([1, 2, 5, 7], 4, 2, "Inner insert");
|
||||
check_search_forward([1, 2, 3, 4], 3, 3, "Inner insert, equal value");
|
||||
check_search_forward([1, 2, 5], 4, 2, "Inner insert, odd length");
|
||||
check_search_forward([1, 3, 5, 6], 9, 4, "End insert");
|
||||
check_search_forward([1, 3, 5, 6], 0, 0, "Beginning insert");
|
||||
check_search_forward([1], 0, 0, "Single array, less than.");
|
||||
check_search_forward([1], 1, 1, "Single array, equal.");
|
||||
check_search_forward([1], 2, 1, "Single array, greater than.");
|
||||
check_search_forward([], 1, 0, "Empty array");
|
||||
check_search_forward([1, 1, 1, 2, 2, 2, 2], 1, 3, "Highly degenerate array, lower");
|
||||
check_search_forward([1, 1, 1, 2, 2, 2, 2], 2, 7, "Highly degenerate array, upper");
|
||||
check_search_forward([2, 2, 2, 2, 2, 2, 2], 1, 0, "Highly degenerate array, lower");
|
||||
check_search_forward([2, 2, 2, 2, 2, 2, 2], 2, 7, "Highly degenerate array, equal");
|
||||
check_search_forward([2, 2, 2, 2, 2, 2, 2], 3, 7, "Highly degenerate array, upper");
|
||||
|
||||
check_search_backward([7, 5, 2, 1], 4, 2, "Backward: Inner insert");
|
||||
check_search_backward([4, 3, 2, 1], 3, 2, "Backward: Inner insert, equal value");
|
||||
check_search_backward([5, 2, 1], 4, 1, "Backward: Inner insert, odd length");
|
||||
check_search_backward([6, 5, 3, 1], 9, 0, "Backward: Beginning insert");
|
||||
check_search_backward([6, 5, 3, 1], 0, 4, "Backward: End insert");
|
||||
check_search_backward([1], 0, 1, "Backward: Single array, less than.");
|
||||
check_search_backward([1], 1, 1, "Backward: Single array, equal.");
|
||||
check_search_backward([1], 2, 0, "Backward: Single array, greater than.");
|
||||
check_search_backward([], 1, 0, "Backward: Empty array");
|
||||
check_search_backward([2, 2, 2, 2, 1, 1, 1], 1, 7, "Backward: Degenerate array, lower");
|
||||
check_search_backward([2, 2, 2, 2, 1, 1, 1], 2, 4, "Backward: Degenerate array, upper");
|
||||
check_search_backward([2, 2, 2, 2, 2, 2, 2], 1, 7, "Backward: Highly degenerate array, upper");
|
||||
check_search_backward([2, 2, 2, 2, 2, 2, 2], 2, 7, "Backward: Highly degenerate array, upper");
|
||||
check_search_backward([2, 2, 2, 2, 2, 2, 2], 3, 0, "Backward: Highly degenerate array, upper");
|
||||
checkSearchForward([1, 2, 5, 7], 4, 2, "Inner insert");
|
||||
checkSearchForward([1, 2, 3, 4], 3, 3, "Inner insert, equal value");
|
||||
checkSearchForward([1, 2, 5], 4, 2, "Inner insert, odd length");
|
||||
checkSearchForward([1, 3, 5, 6], 9, 4, "End insert");
|
||||
checkSearchForward([1, 3, 5, 6], 0, 0, "Beginning insert");
|
||||
checkSearchForward([1], 0, 0, "Single array, less than.");
|
||||
checkSearchForward([1], 1, 1, "Single array, equal.");
|
||||
checkSearchForward([1], 2, 1, "Single array, greater than.");
|
||||
checkSearchForward([], 1, 0, "Empty array");
|
||||
checkSearchForward([1, 1, 1, 2, 2, 2, 2], 1, 3, "Highly degenerate array, lower");
|
||||
checkSearchForward([1, 1, 1, 2, 2, 2, 2], 2, 7, "Highly degenerate array, upper");
|
||||
checkSearchForward([2, 2, 2, 2, 2, 2, 2], 1, 0, "Highly degenerate array, lower");
|
||||
checkSearchForward([2, 2, 2, 2, 2, 2, 2], 2, 7, "Highly degenerate array, equal");
|
||||
checkSearchForward([2, 2, 2, 2, 2, 2, 2], 3, 7, "Highly degenerate array, upper");
|
||||
|
||||
checkSearchBackward([7, 5, 2, 1], 4, 2, "Backward: Inner insert");
|
||||
checkSearchBackward([4, 3, 2, 1], 3, 2, "Backward: Inner insert, equal value");
|
||||
checkSearchBackward([5, 2, 1], 4, 1, "Backward: Inner insert, odd length");
|
||||
checkSearchBackward([6, 5, 3, 1], 9, 0, "Backward: Beginning insert");
|
||||
checkSearchBackward([6, 5, 3, 1], 0, 4, "Backward: End insert");
|
||||
checkSearchBackward([1], 0, 1, "Backward: Single array, less than.");
|
||||
checkSearchBackward([1], 1, 1, "Backward: Single array, equal.");
|
||||
checkSearchBackward([1], 2, 0, "Backward: Single array, greater than.");
|
||||
checkSearchBackward([], 1, 0, "Backward: Empty array");
|
||||
checkSearchBackward([2, 2, 2, 2, 1, 1, 1], 1, 7, "Backward: Degenerate array, lower");
|
||||
checkSearchBackward([2, 2, 2, 2, 1, 1, 1], 2, 4, "Backward: Degenerate array, upper");
|
||||
checkSearchBackward([2, 2, 2, 2, 2, 2, 2], 1, 7, "Backward: Highly degenerate array, upper");
|
||||
checkSearchBackward([2, 2, 2, 2, 2, 2, 2], 2, 7, "Backward: Highly degenerate array, upper");
|
||||
checkSearchBackward([2, 2, 2, 2, 2, 2, 2], 3, 0, "Backward: Highly degenerate array, upper");
|
||||
});
|
||||
|
||||
Tinytest.add("minimongo - modify", function (test) {
|
||||
|
||||
Reference in New Issue
Block a user