HiRep 0.1
Loading...
Searching...
No Matches
cpu_geometry.h File Reference

This file contains macros to load elements of single sites of a field. More...

#include <stdlib.h>
Include dependency graph for cpu_geometry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define coord_to_index(ix, mu)
 
#define index_to_coord(i, ix, mu)
 
#define _FIELD_AT(s, i)
 
#define _3FIELD_AT(s, i, mu)
 
#define _4FIELD_AT(s, i, mu)
 
#define _6FIELD_AT(s, i, mu)
 
#define _DFIELD_AT(s, i, mu, size)
 
#define _FIELD_AT_PTR(s, i, _master_shift)
 
#define _4FIELD_AT_PTR(s, __i, mu, _master_shift)
 
#define _3FIELD_AT_PTR(s, i, mu, _master_shift)
 
#define _6FIELD_AT_PTR(s, i, mu, _master_shift)
 
#define _DFIELD_AT_PTR(s, i, mu, _master_shift, __size)
 
#define _FIELD_BLK(s, i)
 
#define _4FIELD_BLK(s, i)
 
#define _DFIELD_BLK(s, i, size)
 
#define _BUF_FIELD_BLK(s, i)
 
#define _BUF_4FIELD_BLK(s, i)
 
#define _BUF_DFIELD_BLK(s, i, _size)
 

Detailed Description

This file contains macros to load elements of single sites of a field.

Macro Definition Documentation

◆ _3FIELD_AT

#define _3FIELD_AT ( s,
i,
mu )
Value:
(((s)->ptr) + ((i - (s)->type->master_shift) * 3 + mu))

◆ _3FIELD_AT_PTR

#define _3FIELD_AT_PTR ( s,
i,
mu,
_master_shift )
Value:
(s + ((i - _master_shift) * 3 + mu))

◆ _4FIELD_AT

#define _4FIELD_AT ( s,
i,
mu )
Value:
(((s)->ptr) + coord_to_index(i - (s)->type->master_shift, mu))

◆ _4FIELD_AT_PTR

#define _4FIELD_AT_PTR ( s,
__i,
mu,
_master_shift )
Value:
(s + coord_to_index(__i - _master_shift, mu))

◆ _4FIELD_BLK

#define _4FIELD_BLK ( s,
i )
Value:
(((s)->ptr) + 4 * ((s)->type->master_start[(i)] - (s)->type->master_shift))

◆ _6FIELD_AT

#define _6FIELD_AT ( s,
i,
mu )
Value:
(((s)->ptr) + ((i - (s)->type->master_shift) * 6 + mu))

◆ _6FIELD_AT_PTR

#define _6FIELD_AT_PTR ( s,
i,
mu,
_master_shift )
Value:
(s + ((i - _master_shift) * 6 + mu))

◆ _BUF_4FIELD_BLK

#define _BUF_4FIELD_BLK ( s,
i )
Value:
(((s)->ptr) + 4 * ((s)->type->rbuf_start[(i)]))

◆ _BUF_DFIELD_BLK

#define _BUF_DFIELD_BLK ( s,
i,
_size )
Value:
(((s)->ptr) + (_size) * ((s)->type->rbuf_start[(i)] - (s)->type->master_shift))

◆ _BUF_FIELD_BLK

#define _BUF_FIELD_BLK ( s,
i )
Value:
(((s)->ptr) + ((s)->type->rbuf_start[(i)] - (s)->type->master_shift))

◆ _DFIELD_AT

#define _DFIELD_AT ( s,
i,
mu,
size )
Value:
((size == 4) ? _4FIELD_AT(s, i, mu) : ((s)->ptr + ((i - (s)->type->master_shift) * size + mu)))

◆ _DFIELD_AT_PTR

#define _DFIELD_AT_PTR ( s,
i,
mu,
_master_shift,
__size )
Value:
((__size == 4) ? _4FIELD_AT_PTR(s, i, mu, _master_shift) : (s + ((i - _master_shift) * __size + mu)))

◆ _DFIELD_BLK

#define _DFIELD_BLK ( s,
i,
size )
Value:
(((s)->ptr) + size * ((s)->type->master_start[(i)] - (s)->type->master_shift))

◆ _FIELD_AT

#define _FIELD_AT ( s,
i )
Value:
(((s)->ptr) + i - (s)->type->master_shift)

◆ _FIELD_AT_PTR

#define _FIELD_AT_PTR ( s,
i,
_master_shift )
Value:
(s + i - _master_shift)

◆ _FIELD_BLK

#define _FIELD_BLK ( s,
i )
Value:
(((s)->ptr) + ((s)->type->master_start[(i)]) - (s)->type->master_shift)

◆ coord_to_index

#define coord_to_index ( ix,
mu )
Value:
(((ix) << 2) | (mu))

◆ index_to_coord

#define index_to_coord ( i,
ix,
mu )
Value:
(mu) = ((i) & 3); \
(ix) = ((i) >> 2)