Packages

object IndexedBacktrace

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IndexedBacktrace
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type DistBoundMap = Map[(Int, Int), Double]

    known upper bounds on distances, typically only those below a maximum value

  2. type IndexMatch = (Set[(Int, Int)], Vector[Int], Vector[Int])

    matching of indices for complementary distances, corresponds to (pairs, umatchedInFirst, unmatchedInSecond)

Value Members

  1. def allMatches(indices1: Vector[Int], indices2: Vector[Int], permitted: (Int) => (Int) => Boolean): Vector[IndexMatch]

    all matches of indices satisfying a condition, typically having a good enough distance bount

    all matches of indices satisfying a condition, typically having a good enough distance bount

    indices1

    first collection of indices

    indices2

    second collection of indices

    permitted

    condition for matching

    returns

    vector of index matches

  2. def bestBoundMap(v: Vector[((Int, Int), Double)]): DistBoundMap

    map of upper bounds, best from the data

    map of upper bounds, best from the data

    v

    vector of upper bounds

    returns

    map of best upper bounds

  3. def distancesAreImproved(newDist: DistBoundMap, oldDist: DistBoundMap, resolution: Double): Boolean

    checks whether a new distance is significantly better than an old one

    checks whether a new distance is significantly better than an old one

    newDist

    a possibly improved distance bound

    oldDist

    the original distance

    resolution

    additive scale for comparison

    returns

    boolean giving whether improvement is significant

  4. final def stableDistance(baseDistance: DistBoundMap, refine: (DistBoundMap) => DistBoundMap, resolution: Double): DistBoundMap

    refine distance till there is no significant improvement

    refine distance till there is no significant improvement

    baseDistance

    initial distance

    refine

    map giving way to refine

    resolution

    additive scale for comparison

    returns

    refined upper bound on distances

    Annotations
    @tailrec()
  5. def symmetrizedBoundMap(v: Vector[((Int, Int), Double)]): DistBoundMap

    upper bounds refined by using symmetry

    upper bounds refined by using symmetry

    v

    vector of upper bounds

    returns

    symmetric map of upper bounds

  6. def triangleInequalityBounds(m: DistBoundMap): DistBoundMap

    upper bounds refined using the triangle

    upper bounds refined using the triangle

    m

    given upper bounds

    returns

    map of deduced upper bounds

  7. def triangleStableDistance(baseDistance: DistBoundMap, maxDistance: Double, resolution: Double): DistBoundMap

    refine distances using the triangle inequality with pruning

    refine distances using the triangle inequality with pruning

    baseDistance

    initial distance bounds

    maxDistance

    maximum distance bound - larger bounds than these are ignored

    resolution

    additive scale for comparison

    returns

    refined upper bound map