| 
    SparseLibrary
    Version 1.6.0
    
   | 
 
Hilbert-coordinate-aware triplet. More...
#include <HilbertTriplet.hpp>

Public Member Functions | |
| unsigned long int | i () const | 
| unsigned long int | j () const | 
| HilbertTriplet (unsigned long int i, unsigned long int j, T val) | |
| Base constructor.  More... | |
| HilbertTriplet () | |
| Base constructor.  More... | |
| void | calculateHilbertCoordinate () | 
| Calculates the full Hilbert coordinate.  | |
| void | getHilbertCoordinate (size_t &h1, size_t &h2) | 
| Gets the Hilbert coordinates.  More... | |
| size_t | getMostSignificantHilbertBits () | 
| size_t | getLeastSignificantHilbertBits () | 
Static Public Member Functions | |
| static void | save (std::string fn, HilbertTriplet< T > *toWrite, const unsigned long int m, const unsigned long int n, const size_t s) | 
| Saves an array of Hilbert triplets to a file, in binary format.  More... | |
| static void | save (std::string fn, std::vector< HilbertTriplet< T > > &toWrite, const unsigned long int m, const unsigned long int n) | 
| Saves a std::vector of Hilbert triplets to a file, in binary format.  More... | |
Public Attributes | |
| T | value | 
| Value stored at this triplet.  More... | |
Protected Attributes | |
| size_t | row | 
| The row coordinate of this triplet.  More... | |
| size_t | column | 
| The column coordinate of this triplet.  More... | |
| size_t | hilbert1 | 
| Most significant part of a 128-bits Hilbert coordinate, for one-shot, non-iterative, calculation.  More... | |
| size_t | hilbert2 | 
| Least significant part of a 128-bits Hilbert coordinate, for one-shot, non-iterative, calculation.  More... | |
Hilbert-coordinate-aware triplet.
Can save vectors of HilbertTriplets to binary.
      
  | 
  inline | 
Base constructor.
| i | row index. | 
| j | column index. | 
| val | nonzero value. | 
      
  | 
  inline | 
Base constructor.
Sets all values to zero.
      
  | 
  inline | 
Gets the Hilbert coordinates.
Does not check if calculateHilbertCoordinate() was called first, otherwise (0,0) will be returned. Note that the Hilbert coordinate is a 1D 128-bits unsigned integer.
| h1 | The first (most significant) 64-bits of the Hilbert coordinate | 
| h2 | the remainder of the Hilbert coordinate. | 
References HilbertTriplet< T >::hilbert1, and HilbertTriplet< T >::hilbert2.
      
  | 
  inline | 
References HilbertTriplet< T >::hilbert2.
Referenced by HilbertTripletCompare< T >::operator()().
      
  | 
  inline | 
References HilbertTriplet< T >::hilbert1.
Referenced by HilbertTripletCompare< T >::operator()().
      
  | 
  inline | 
References HilbertTriplet< T >::row.
Referenced by HTS< T >::cmp(), and HilbertTriplet< T >::save().
      
  | 
  inline | 
References HilbertTriplet< T >::column.
Referenced by HTS< T >::cmp(), and HilbertTriplet< T >::save().
      
  | 
  inlinestatic | 
Saves an array of Hilbert triplets to a file, in binary format.
Does NOT save the Hilbert coordinate! (For reading-in the written file, use the regular Triplet scheme)
| fn | Filename to save to (overwrite mode). | 
| toWrite | Array of Hilbert triplets to write. | 
| m | Total number of rows in the matrix. | 
| n | Total number of columns in the matrix. | 
| s | Size of the array toWrite. | 
References HilbertTriplet< T >::i(), HilbertTriplet< T >::j(), and HilbertTriplet< T >::value.
Referenced by HilbertTriplet< T >::save(), Hilbert< T >::saveBinary(), and HTS< T >::saveBinary().
      
  | 
  inlinestatic | 
Saves a std::vector of Hilbert triplets to a file, in binary format.
Does NOT save the Hilbert coordinate! (For reading-in the written file, use the regular Triplet scheme)
| fn | Filename to save to (overwrite mode). | 
| toWrite | Vector of Hilbert triplets to write. | 
| m | Total number of rows in the matrix. | 
| n | Total number of columns in the matrix. | 
References HilbertTriplet< T >::save().
      
  | 
  protected | 
The column coordinate of this triplet.
Referenced by HilbertTriplet< T >::calculateHilbertCoordinate(), and HilbertTriplet< T >::j().
      
  | 
  protected | 
Most significant part of a 128-bits Hilbert coordinate, for one-shot, non-iterative, calculation.
Referenced by HilbertTriplet< T >::calculateHilbertCoordinate(), HilbertTriplet< T >::getHilbertCoordinate(), and HilbertTriplet< T >::getMostSignificantHilbertBits().
      
  | 
  protected | 
Least significant part of a 128-bits Hilbert coordinate, for one-shot, non-iterative, calculation.
Referenced by HilbertTriplet< T >::calculateHilbertCoordinate(), HilbertTriplet< T >::getHilbertCoordinate(), and HilbertTriplet< T >::getLeastSignificantHilbertBits().
      
  | 
  protected | 
The row coordinate of this triplet.
Referenced by HilbertTriplet< T >::calculateHilbertCoordinate(), and HilbertTriplet< T >::i().
| T HilbertTriplet< T >::value | 
Value stored at this triplet.
Referenced by HilbertTriplet< T >::save().
 1.8.7