HiRep 0.1
Loading...
Searching...
No Matches
field_memory.h
Go to the documentation of this file.
1/***************************************************************************\
2* Copyright (c) 2008, 2022, Claudio Pica, Sofie Martins *
3* All rights reserved. *
4\***************************************************************************/
5
10
17#ifndef FIELD_MEMORY_H
18#define FIELD_MEMORY_H
19
20#include <stdlib.h>
21#include "Core/spinor_field.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#ifdef P4
28#define ALIGN 7
29#else
30#define ALIGN 8
31#endif
32
33//amalloc.c
34
41void *amalloc(size_t size, int p);
42
48void afree(void *addr);
49
50//memory.c
51//convert.cu
52
53#define _FIELD_NAME_READABLE "Spinor field"
54#define _FIELD_TYPE spinor_field
55#define _IS_SPINOR_LIKE 1
56#include "TMPL/field_memory.h.tmpl"
57
58#define _FIELD_NAME_READABLE "Single precision spinor field"
59#define _FIELD_TYPE spinor_field_flt
60#define _IS_SPINOR_LIKE 1
61#include "TMPL/field_memory.h.tmpl"
62
63#define _FIELD_NAME_READABLE "Scalar field"
64#define _FIELD_TYPE scalar_field
65#define _IS_SPINOR_LIKE 1
66#include "TMPL/field_memory.h.tmpl"
67
68#define _FIELD_NAME_READABLE "Gauge field"
69#define _FIELD_TYPE suNg_field
70#define _IS_SPINOR_LIKE 0
71#include "TMPL/field_memory.h.tmpl"
72
73#define _FIELD_NAME_READABLE "Single precision gauge field"
74#define _FIELD_TYPE suNg_field_flt
75#define _IS_SPINOR_LIKE 0
76#include "TMPL/field_memory.h.tmpl"
77
78#define _FIELD_NAME_READABLE "Represented gauge field"
79#define _FIELD_TYPE suNf_field
80#define _IS_SPINOR_LIKE 0
81#include "TMPL/field_memory.h.tmpl"
82
83#define _FIELD_NAME_READABLE "Represented complexified gauge field"
84#define _FIELD_NAME suNfc_field
85#define _FIELD_TYPE suNfc_field
86#define _IS_SPINOR_LIKE 0
87#include "TMPL/field_memory.h.tmpl"
88
89#define _FIELD_NAME_READABLE "Represented single precision gauge field"
90#define _FIELD_TYPE suNf_field_flt
91#define _IS_SPINOR_LIKE 0
92#include "TMPL/field_memory.h.tmpl"
93
94#define _FIELD_NAME_READABLE "SU(NG) scalar field"
95#define _FIELD_TYPE suNg_scalar_field
96#define _IS_SPINOR_LIKE 0
97#include "TMPL/field_memory.h.tmpl"
98
99#define _FIELD_NAME_READABLE "SU(NG) algebra vector field"
100#define _FIELD_TYPE suNg_av_field
101#define _IS_SPINOR_LIKE 0
102#include "TMPL/field_memory.h.tmpl"
103
104#define _FIELD_NAME_READABLE "Gauge transformation"
105#define _FIELD_TYPE gtransf
106#define _IS_SPINOR_LIKE 0
107#include "TMPL/field_memory.h.tmpl"
108
109#define _FIELD_NAME_READABLE "Clover ldl field"
110#define _FIELD_TYPE ldl_field
111#define _IS_SPINOR_LIKE 0
112#include "TMPL/field_memory.h.tmpl"
113
114#define _FIELD_NAME_READABLE "Clover term"
115#define _FIELD_TYPE clover_term
116#define _IS_SPINOR_LIKE 0
117#include "TMPL/field_memory.h.tmpl"
118
119#define _FIELD_NAME_READABLE "Clover force"
120#define _FIELD_TYPE clover_force
121#define _IS_SPINOR_LIKE 0
122#include "TMPL/field_memory.h.tmpl"
123
124#define _FIELD_NAME_READABLE "Staple field"
125#define _FIELD_TYPE staple_field
126#define _IS_SPINOR_LIKE 0
127#include "TMPL/field_memory.h.tmpl"
128
129#ifdef __cplusplus
130}
131#endif
132#endif
void afree(void *addr)
Free memory that was allocated aligned using amalloc.
Definition amalloc.c:122
void * amalloc(size_t size, int p)
Allocated memory aligned, because this improves bandwidth.
Definition amalloc.c:89
The elementary site structures defined in suN.h are used in this file to define field structures that...