com.multicorebsp.util
Class ComplexData

java.lang.Object
  extended by com.multicorebsp.util.MatrixData<ComplexData>
      extended by com.multicorebsp.util.ComplexData
All Implemented Interfaces:
com.multicorebsp.core.CompulsaryCloneable<ComplexData>, java.lang.Cloneable

public class ComplexData
extends MatrixData<ComplexData>

Enables storage of complex data in matrices.


Field Summary
 double[] imag
          Stores the complex values in double precision.
 double[] real
          Stores the real values in double precision.
 
Constructor Summary
  ComplexData()
          Base constructor, all data arrays remain null.
protected ComplexData(ComplexData toCopy)
          Deep copy constructor.
  ComplexData(double[] _R, double[] _I)
          Base constructor, copies data handle by reference(!).
  ComplexData(int length)
          Base constructor, initialises zero data.
 
Method Summary
 void add(int i, int j)
          Adds the values of two nonzeroes and saves it at the last index available.
 void parseAndWrite(int i, java.util.Scanner s)
          Parses an input stream and writes the contect to the i'th index.
 void removeDuplicates(int nr)
          Removes duplicates from the data structure.
 ComplexData safeClone()
           
 ComplexData safeClone(int i, int j)
          Clones only a subset of the data.
 void swap(int i, int j)
          Swaps data elements.
 
Methods inherited from class com.multicorebsp.util.MatrixData
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

real

public double[] real
Stores the real values in double precision.


imag

public double[] imag
Stores the complex values in double precision.

Constructor Detail

ComplexData

public ComplexData()
Base constructor, all data arrays remain null.


ComplexData

public ComplexData(int length)
Base constructor, initialises zero data.


ComplexData

public ComplexData(double[] _R,
                   double[] _I)
Base constructor, copies data handle by reference(!).


ComplexData

protected ComplexData(ComplexData toCopy)
Deep copy constructor.

Method Detail

add

public void add(int i,
                int j)
Description copied from class: MatrixData
Adds the values of two nonzeroes and saves it at the last index available.

Specified by:
add in class MatrixData<ComplexData>
Parameters:
i - First nonzero index (will remain unchanged).
j - Second nonzero index (will be replaced by sum).

removeDuplicates

public void removeDuplicates(int nr)
Description copied from class: MatrixData
Removes duplicates from the data structure. Assumed is all duplicates reside at the last part of the data structure.

Specified by:
removeDuplicates in class MatrixData<ComplexData>
Parameters:
nr - Number of elements to remove.

swap

public void swap(int i,
                 int j)
Description copied from class: MatrixData
Swaps data elements.

Specified by:
swap in class MatrixData<ComplexData>
Parameters:
i - First index
j - Second index

safeClone

public ComplexData safeClone()

safeClone

public ComplexData safeClone(int i,
                             int j)
Description copied from class: MatrixData
Clones only a subset of the data.

Specified by:
safeClone in class MatrixData<ComplexData>
Parameters:
i - Lower bound of the index to copy.
j - Upper bound on the index to copy.
Returns:
Partial clone of the current object.

parseAndWrite

public void parseAndWrite(int i,
                          java.util.Scanner s)
Description copied from class: MatrixData
Parses an input stream and writes the contect to the i'th index.

Specified by:
parseAndWrite in class MatrixData<ComplexData>
Parameters:
i - At what index to save input.
s - Where to get the input from.