com.sun.electric.database.geometry.btree.unboxed
Interface AssociativeOperation<S extends java.io.Serializable>

All Superinterfaces:
Unboxed<S>
All Known Subinterfaces:
AssociativeCommutativeOperation<S>
All Known Implementing Classes:
UnboxedMinMaxHalfDouble

public interface AssociativeOperation<S extends java.io.Serializable>
extends Unboxed<S>

An associative operation on unboxed values. http://en.wikipedia.org/wiki/Monoid http://en.wikipedia.org/wiki/Semigroup


Method Summary
 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 interface com.sun.electric.database.geometry.btree.unboxed.Unboxed
deserialize, getSize, serialize
 

Method Detail

multiply

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). 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!!!