com.sun.electric.database.geometry.btree.unboxed
Class UnboxedMinMaxHalfDouble<K extends java.io.Serializable>

java.lang.Object
  extended by com.sun.electric.database.geometry.btree.unboxed.UnboxedPair<java.lang.Double,java.lang.Double>
      extended by com.sun.electric.database.geometry.btree.unboxed.UnboxedMinMaxHalfDouble<K>
All Implemented Interfaces:
AssociativeCommutativeOperation<Pair<java.lang.Double,java.lang.Double>>, AssociativeOperation<Pair<java.lang.Double,java.lang.Double>>, Unboxed<Pair<java.lang.Double,java.lang.Double>>, UnboxedFunction<Pair<K,java.lang.Double>,Pair<java.lang.Double,java.lang.Double>>

public class UnboxedMinMaxHalfDouble<K extends java.io.Serializable>
extends UnboxedPair<java.lang.Double,java.lang.Double>
implements AssociativeCommutativeOperation<Pair<java.lang.Double,java.lang.Double>>, UnboxedFunction<Pair<K,java.lang.Double>,Pair<java.lang.Double,java.lang.Double>>

an example of an AssociativeCommutativeOperation


Field Summary
static UnboxedMinMaxHalfDouble instance
           
 
Constructor Summary
UnboxedMinMaxHalfDouble()
           
 
Method Summary
 void call(byte[] buf_kv, int ofs_kv, byte[] buf_s, int ofs_s)
          The function MUST support situations where the argument and return buffers overlap.
 void multiply(byte[] buf1, int ofs1, byte[] buf2, int ofs2, byte[] buf_dest, int ofs_dest)
          Compute (buf1,ofs1)*(buf2,ofs2) and write it to (buf_dest,ofs_dest).
 
Methods inherited from class com.sun.electric.database.geometry.btree.unboxed.UnboxedPair
deserialize, getSize, serialize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sun.electric.database.geometry.btree.unboxed.Unboxed
deserialize, getSize, serialize
 

Field Detail

instance

public static final UnboxedMinMaxHalfDouble instance
Constructor Detail

UnboxedMinMaxHalfDouble

public UnboxedMinMaxHalfDouble()
Method Detail

call

public void call(byte[] buf_kv,
                 int ofs_kv,
                 byte[] buf_s,
                 int ofs_s)
Description copied from interface: UnboxedFunction
The function MUST support situations where the argument and return buffers overlap.

Specified by:
call in interface UnboxedFunction<Pair<K extends java.io.Serializable,java.lang.Double>,Pair<java.lang.Double,java.lang.Double>>

multiply

public void multiply(byte[] buf1,
                     int ofs1,
                     byte[] buf2,
                     int ofs2,
                     byte[] buf_dest,
                     int ofs_dest)
Description copied from interface: AssociativeOperation
Compute (buf1,ofs1)*(buf2,ofs2) and write it to (buf_dest,ofs_dest). MUST support the case where (buf1,ofs1)==(buf_dest,ofs_dest) or (buf2,ofs2)==(buf_dest,ofs_dest) or ther is some overlap. MUST BE ABLE TO DEAL WITH THE CASE WHERE DESTINATION BUFFER OVERLAPS ONE OF SOURCE BUFFERS!!!

Specified by:
multiply in interface AssociativeOperation<Pair<java.lang.Double,java.lang.Double>>