GpsGate Server JavaScript API

Algorithm  1.0.0

GpsGate Server JavaScript API > Algorithm > Franson.Algorithm
Search:
 
Filters

static Class Franson.Algorithm

namespace

Methods

findSegments

integer[] findSegments(data, [startIndex=0], [length=data.length], [binaryPredicate=MochiKit.Base.operator.ceq])
O(N)
note: see the overloads also rename findDeltaSegments? todo: change to iter interface or mapped cursor
Parameters:
data <object[]>
[startIndex=0] <integer>
[length=data.length] <integer>
[binaryPredicate=MochiKit.Base.operator.ceq] <bool function(lhs, rhs)> logic is compare(a, b) == 0 (equal)
Returns: integer[]
Array of indices, the indices will be index + startIndex (i.e absolute)

setDifference

object[] setDifference(setA, setB, [cmp=MochiKit.Base.eq)
set subtraction, assuming unordered input: O(N^2)
ref difference todo: hmm, rename "setComplement"? (not same?) todo: implement this method as an Iterable? todo: create versions assuming ordered input (bin-search impl.) and perhaps version assuming unordered but hashable elems? todo: create a Set datastructure and more algorithms (union, sum, intersection etc) todo: move to separate algorithm module todo: support multiple arguments?
Parameters:
setA <Iterable>
setB <Iterable>
[cmp=MochiKit.Base.eq <BinaryPredicate> (==)]
Returns: object[]
D = A - B

setIntersection

object[] setIntersection(setA, setB, [cmp=eq])
Assumes unordered input: O(N^2)
ref intersection see also setDifference
Parameters:
setA <Iterable>
setB <Iterable>
[cmp=eq] <BinaryComparator>
Returns: object[]

setSymmetricDifference

object[] setSymmetricDifference(setA, setB, [cmp=eq])
Assumes unordered input: O(N^2)
ref symmetricSetDiff
Parameters:
setA <Iterable>
setB <Iterable>
[cmp=eq] <BinaryComparator>
Returns: object[]

setUnion

object[] setUnion(setA, setB, [cmp=eq])
Assumes unordered input: O(N^2)
ref union todo: support multiple arguments?
Parameters:
setA <Iterable>
setB <Iterable>
[cmp=eq] <BinaryComparator>
Returns: object[]
A u B


Copyright © 2009 Franson Technology AB, Sweden. All rights reserved.