| 
    SpinParser
    1.0
    
   | 
 
Two-particle vertex implementation for models with diagonal interactions. More...
#include <XYZVertexTwoParticle.hpp>
Public Types | |
| enum | FrequencyChannel {  FrequencyChannel::S, FrequencyChannel::T, FrequencyChannel::U, FrequencyChannel::All, FrequencyChannel::None }  | 
| Indicator for frequency channels that exactly lie on frequency mesh points.  More...  | |
Public Member Functions | |
| XYZVertexTwoParticle () | |
| Construct a new XYZVertexTwoParticle object and initialize all entries to zero.  More... | |
| ~XYZVertexTwoParticle () | |
| Destroy the XYZVertexTwoParticle object.  | |
| void | expandIterator (int iterator, LatticeIterator &i1, float &s, float &t, float &u) const | 
| Expand a linear iterator in the range [0,size) that iterates over all vertex entries.  More... | |
| void | expandIterator (int iterator, float &s, float &t, float &u) const | 
| Expand a linear iterator in the range [0,sizeFrequency) that iterates over all paramtetrized frequency values.  More... | |
| float & | getValueRef (const int iterator, const SpinComponent symmetry) const | 
| Directly access a vertex value via a linear iterator in the range [0,size).  More... | |
| float | getValue (LatticeIterator i1, LatticeIterator i2, float s, float t, float u, SpinComponent symmetry, const XYZVertexTwoParticle::FrequencyChannel channel) const | 
| Access vertex value at arbitrary lattice sites, frequencies, and symmetry.  More... | |
| template<int n> | |
| float | getValue (const LatticeIterator i1, const LatticeIterator i2, SpinComponent symmetry, const XYZVertexTwoParticleAccessBuffer< n > &accessBuffer) const | 
| Access vertex value at arbitrary lattice sites and symmetry via a given access buffer.  More... | |
| template<int n> | |
| float | getValueLocal (const SpinComponent symmetry, const XYZVertexTwoParticleAccessBuffer< n > &accessBuffer) const | 
| Access vertex value locally at arbitrary symmetry via a given access buffer.  More... | |
| template<int n> | |
| void | getValueSuperbundle (const XYZVertexTwoParticleAccessBuffer< n > &accessBuffer, ValueSuperbundle< float, 4 > &superbundle) const | 
| Bundled vertex access on all lattice sites and symmetries simultaneously via a given access buffer.  More... | |
| XYZVertexTwoParticleAccessBuffer< 4 > | generateAccessBuffer (float s, float t, float u, const XYZVertexTwoParticle::FrequencyChannel channel) const | 
| Generate an access buffer for a set of frequencies where one of them (specified by channel) exactly lies on the frequency mesh. Frequency channel must be either FrequencyChannel::S, FrequencyChannel::T, FrequencyChannel::U.  More... | |
| XYZVertexTwoParticleAccessBuffer< 8 > | generateAccessBuffer (float s, float t, float u) const | 
| Generate an access buffer for an arbitrary set of frequencies.  More...  | |
| float | _directAccessMapFrequencyExchange (const int siteOffset, const int sOffset, const int tOffset, const int uOffset, const SpinComponent symmetry) const | 
| Directly access a vertex via given frequency and site offsets, where sOffset may be lesser than uOffset.  More... | |
| float | _directAccess (const int siteOffset, const int sOffset, const int tOffset, const int uOffset, const SpinComponent symmetry) const | 
| Directly access a vertex via given frequency and site offsets, where sOffset >= uOffset.  More... | |
| int | _generateAccessBufferOffset (const int sOffset, const int tOffset, const int uOffset, int &signFlag) const | 
| Calculate the total memory offset (number of elements) from given frequency offsets, where sOffset may be lesser than uOffset.  More... | |
Public Attributes | |
| int | size | 
| Size of the vertex per vertex channel (number of elements).  | |
| int | sizeFrequency | 
| Size of the vertex per vertex channel in the frequency subspace (number of elements).  | |
| float * | _dataXX | 
| Spin-X channel of the vertex.  | |
| float * | _dataYY | 
| Spin-Y channel of the vertex.  | |
| float * | _dataZZ | 
| Spin-Z channel of the vertex.  | |
| float * | _dataDD | 
| Density channel of the vertex.  | |
| int | _memoryStepLatticeT | 
| Memory stride width in the last-2 dimension.  | |
| int | _memoryStepLattice | 
| Memory stride width in the last-1 dimension.  | |
Two-particle vertex implementation for models with diagonal interactions.
      
  | 
  strong | 
      
  | 
  inline | 
Construct a new XYZVertexTwoParticle object and initialize all entries to zero.
      
  | 
  inline | 
Directly access a vertex via given frequency and site offsets, where sOffset >= uOffset.
| siteOffset | Lattice site offset (number of elements). | 
| sOffset | First frequency offset (number of elements). | 
| tOffset | Second frequency offset (number of elements). | 
| uOffset | Third frequency offset (number of elements). | 
| symmetry | Vertex channel. | 
      
  | 
  inline | 
Directly access a vertex via given frequency and site offsets, where sOffset may be lesser than uOffset.
| siteOffset | Lattice site offset (number of elements). | 
| sOffset | First frequency offset (number of elements). | 
| tOffset | Second frequency offset (number of elements). | 
| uOffset | Third frequency offset (number of elements). | 
| symmetry | Vertex channel. | 
      
  | 
  inline | 
Calculate the total memory offset (number of elements) from given frequency offsets, where sOffset may be lesser than uOffset.
| [in] | sOffset | First frequency offset (number of elements). | 
| [in] | tOffset | Second frequency offset (number of elements). | 
| [in] | uOffset | Third frequency offset (number of elements). | 
| [out] | signFlag | Sign flag to be stored in the access buffer. | 
      
  | 
  inline | 
Expand a linear iterator in the range [0,sizeFrequency) that iterates over all paramtetrized frequency values.
| [in] | iterator | Linear iterator. | 
| [out] | s | First frequency argument. | 
| [out] | t | Second frequency argument. | 
| [out] | u | Third frequency argument. | 
      
  | 
  inline | 
Expand a linear iterator in the range [0,size) that iterates over all vertex entries.
| [in] | iterator | Linear iterator. | 
| [out] | i1 | Lattice site iterator. | 
| [out] | s | First frequency argument. | 
| [out] | t | Second frequency argument. | 
| [out] | u | Third frequency argument. | 
      
  | 
  inline | 
Generate an access buffer for an arbitrary set of frequencies. 
 
| s | First frequency argument. | 
| t | Second frequency argument. | 
| u | Third frequency argument. | 
      
  | 
  inline | 
Generate an access buffer for a set of frequencies where one of them (specified by channel) exactly lies on the frequency mesh. Frequency channel must be either FrequencyChannel::S, FrequencyChannel::T, FrequencyChannel::U.
| s | First frequency argument. | 
| t | Second frequency argument. | 
| u | Third frequency argument. | 
| channel | Frequency channel. | 
      
  | 
  inline | 
Access vertex value at arbitrary lattice sites and symmetry via a given access buffer.
| n | Number of support sites in the access buffer. | 
| i1 | First lattice site argument. | 
| i2 | Second lattice site argument. | 
| symmetry | Vertex channel. | 
| accessBuffer | Access buffer. | 
      
  | 
  inline | 
Access vertex value at arbitrary lattice sites, frequencies, and symmetry.
| i1 | First lattice site argument. | 
| i2 | Second lattice site argument. | 
| s | First frequency argument. | 
| t | Second frequency argument. | 
| u | Third frequency argument. | 
| symmetry | Vertex channel. | 
| channel | Frequency channel. | 
      
  | 
  inline | 
Access vertex value locally at arbitrary symmetry via a given access buffer.
| n | Number of support sites in the access buffer. | 
| symmetry | Vertex channel. | 
| accessBuffer | Access buffer. | 
      
  | 
  inline | 
Directly access a vertex value via a linear iterator in the range [0,size).
| iterator | Linear iterator. | 
| symmetry | Vertex channel. | 
      
  | 
  inline | 
Bundled vertex access on all lattice sites and symmetries simultaneously via a given access buffer.
| n | Number of support sites in the access buffer. | 
| [in] | accessBuffer | Access buffer. | 
| [out] | superbundle | Vertex value bundle. | 
 1.8.17