net.obsearch.dimension
Class DimensionLong

java.lang.Object
  extended by net.obsearch.dimension.AbstractDimension
      extended by net.obsearch.dimension.DimensionLong
All Implemented Interfaces:
Comparable<DimensionLong>

public class DimensionLong
extends net.obsearch.dimension.AbstractDimension
implements Comparable<DimensionLong>

DimensionLong Stores objects of type long.

Author:
Arnoldo Jose Muller Molina

Constructor Summary
DimensionLong(int position, long value)
          Creates a new DimensionLong object.
 
Method Summary
 int compareTo(DimensionLong other)
          Compares this object with other.
static long euclidean(long[] a, long[] b)
          Calculates the euc distance for two tuples
static long[] getBasicTuple(OBLong[] pivots, OBLong object)
          Creates a long array from the given pivots and the given object.
static long[] getPrimitiveTuple(long[] pivots, long objectId, net.obsearch.Index<? extends OBLong> index)
          Calculates the smap tuple for the given objectId, and the given pivots
static long[] getPrimitiveTuple(OBLong[] pivots, OBLong object)
          Calculates the smap tuple for the given objectId, and the given pivots
static DimensionLong[] getTuple(long[] pivots, long objectId, net.obsearch.Index<? extends OBLong> index)
          Creates a dimension array from the given pivots and the given object id.
static DimensionLong[] getTuple(OBLong[] pivots, OBLong object)
          Creates a dimension array from the given pivots and the given object.
 long getValue()
           
static long lInfinite(long[] a, long[] b)
          Calculates L-inf for two long tuples.
static long minDistance(List<Long> objects, net.obsearch.Index<OBLong> index)
          Calculate the minimum distance of the given objects (all objects compared against all objects)
static long[] select(int k, Random r, cern.colt.list.LongArrayList source, net.obsearch.Index<OBLong> index, cern.colt.list.LongArrayList excludes, long minDistance)
          Selects k random elements from the given source.
static DimensionLong[] transformPrimitiveTuple(long[] tuple)
          Transform the given primitive tuple into a Dimension tuple.
 
Methods inherited from class net.obsearch.dimension.AbstractDimension
getOrder, mapId, max, select
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DimensionLong

public DimensionLong(int position,
                     long value)
Creates a new DimensionLong object.

Parameters:
position - The position of this dimension.
value - The value of this dimension.
Method Detail

getTuple

public static DimensionLong[] getTuple(OBLong[] pivots,
                                       OBLong object)
                                throws net.obsearch.exception.IllegalIdException,
                                       IllegalAccessException,
                                       InstantiationException,
                                       net.obsearch.exception.OBException
Creates a dimension array from the given pivots and the given object.

Parameters:
pivots - The pivots used for the embedding.
object - The object to be projected.
Returns:
A new dimension array.
Throws:
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
net.obsearch.exception.OBException

select

public static long[] select(int k,
                            Random r,
                            cern.colt.list.LongArrayList source,
                            net.obsearch.Index<OBLong> index,
                            cern.colt.list.LongArrayList excludes,
                            long minDistance)
                     throws net.obsearch.exception.IllegalIdException,
                            net.obsearch.exception.OBException,
                            IllegalAccessException,
                            InstantiationException
Selects k random elements from the given source.

Parameters:
k - number of elements to select
r - Random object used to randomly select objects.
source - The source of item ids.
index - underlying index.
will - not add pivots included in excludes.
minDistance - The min distance required by the objects.
Returns:
The ids of selected objects.
Throws:
net.obsearch.exception.IllegalIdException
net.obsearch.exception.OBException
IllegalAccessException
InstantiationException

minDistance

public static long minDistance(List<Long> objects,
                               net.obsearch.Index<OBLong> index)
                        throws net.obsearch.exception.IllegalIdException,
                               net.obsearch.exception.OBException,
                               IllegalAccessException,
                               InstantiationException
Calculate the minimum distance of the given objects (all objects compared against all objects)

Parameters:
objects -
Returns:
the min distance
Throws:
net.obsearch.exception.IllegalIdException
net.obsearch.exception.OBException
IllegalAccessException
InstantiationException

getBasicTuple

public static long[] getBasicTuple(OBLong[] pivots,
                                   OBLong object)
                            throws net.obsearch.exception.IllegalIdException,
                                   IllegalAccessException,
                                   InstantiationException,
                                   net.obsearch.exception.OBException
Creates a long array from the given pivots and the given object.

Parameters:
pivots - The pivots used for the embedding.
object - The object to be projected.
Returns:
A new long array.
Throws:
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
net.obsearch.exception.OBException

getTuple

public static DimensionLong[] getTuple(long[] pivots,
                                       long objectId,
                                       net.obsearch.Index<? extends OBLong> index)
                                throws net.obsearch.exception.IllegalIdException,
                                       IllegalAccessException,
                                       InstantiationException,
                                       net.obsearch.exception.OBException
Creates a dimension array from the given pivots and the given object id. Loads the objects from the DB.

Throws:
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
net.obsearch.exception.OBException

compareTo

public int compareTo(DimensionLong other)
Compares this object with other.

Specified by:
compareTo in interface Comparable<DimensionLong>

getValue

public long getValue()

getPrimitiveTuple

public static long[] getPrimitiveTuple(long[] pivots,
                                       long objectId,
                                       net.obsearch.Index<? extends OBLong> index)
                                throws net.obsearch.exception.IllegalIdException,
                                       IllegalAccessException,
                                       InstantiationException,
                                       net.obsearch.exception.OBException
Calculates the smap tuple for the given objectId, and the given pivots

Parameters:
pivots -
objectId -
Returns:
Throws:
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
net.obsearch.exception.OBException

transformPrimitiveTuple

public static DimensionLong[] transformPrimitiveTuple(long[] tuple)
Transform the given primitive tuple into a Dimension tuple.

Parameters:
tuple - The tuple that will be transformed.
Returns:
A DimensionLong of dimensions.

getPrimitiveTuple

public static long[] getPrimitiveTuple(OBLong[] pivots,
                                       OBLong object)
                                throws net.obsearch.exception.IllegalIdException,
                                       IllegalAccessException,
                                       InstantiationException,
                                       net.obsearch.exception.OBException
Calculates the smap tuple for the given objectId, and the given pivots

Parameters:
pivots -
objectId -
Returns:
Throws:
net.obsearch.exception.IllegalIdException
IllegalAccessException
InstantiationException
net.obsearch.exception.OBException

lInfinite

public static long lInfinite(long[] a,
                             long[] b)
Calculates L-inf for two long tuples.

Parameters:
a - tuple
b - tuple
Returns:
L-infinite for a and b.

euclidean

public static long euclidean(long[] a,
                             long[] b)
Calculates the euc distance for two tuples

Parameters:
a - tuple
b - tuple
Returns:
L-infinite for a and b.


Copyright © 2007-2011 Arnoldo Jose Muller Molina. All Rights Reserved.