xref: /libCEED/julia/LibCEED.jl/src/generated/libceed_bindings.jl (revision daadeac6547c0bce0e170b8a41c931051f52e9a3)
1ec672a92SWill Paznerusing CEnum
2ec672a92SWill Pazner
3ec672a92SWill Pazner#! format: off
4ec672a92SWill Pazner
5ec672a92SWill Pazner
6ec672a92SWill Paznerconst CeedInt = Int32
7ec672a92SWill Pazner
8*daadeac6SWill Paznerconst CeedSize = Cptrdiff_t
9*daadeac6SWill Pazner
1080a9ef05SNatalie Beams@cenum CeedScalarType::UInt32 begin
1180a9ef05SNatalie Beams    CEED_SCALAR_FP32 = 0
1280a9ef05SNatalie Beams    CEED_SCALAR_FP64 = 1
1380a9ef05SNatalie Beamsend
14ec672a92SWill Pazner
15*daadeac6SWill Pazner@cenum CeedErrorType::Int32 begin
16*daadeac6SWill Pazner    CEED_ERROR_SUCCESS = 0
17*daadeac6SWill Pazner    CEED_ERROR_MINOR = 1
18*daadeac6SWill Pazner    CEED_ERROR_DIMENSION = 2
19*daadeac6SWill Pazner    CEED_ERROR_INCOMPLETE = 3
20*daadeac6SWill Pazner    CEED_ERROR_INCOMPATIBLE = 4
21*daadeac6SWill Pazner    CEED_ERROR_ACCESS = 5
22*daadeac6SWill Pazner    CEED_ERROR_MAJOR = -1
23*daadeac6SWill Pazner    CEED_ERROR_BACKEND = -2
24*daadeac6SWill Pazner    CEED_ERROR_UNSUPPORTED = -3
25*daadeac6SWill Paznerend
26*daadeac6SWill Pazner
27ec672a92SWill Paznermutable struct Ceed_private end
28ec672a92SWill Pazner
29ec672a92SWill Paznerconst Ceed = Ptr{Ceed_private}
30ec672a92SWill Pazner
31ec672a92SWill Paznermutable struct CeedRequest_private end
32ec672a92SWill Pazner
33ec672a92SWill Paznerconst CeedRequest = Ptr{CeedRequest_private}
34ec672a92SWill Pazner
35ec672a92SWill Paznermutable struct CeedVector_private end
36ec672a92SWill Pazner
37ec672a92SWill Paznerconst CeedVector = Ptr{CeedVector_private}
38ec672a92SWill Pazner
39ec672a92SWill Paznermutable struct CeedElemRestriction_private end
40ec672a92SWill Pazner
41ec672a92SWill Paznerconst CeedElemRestriction = Ptr{CeedElemRestriction_private}
42ec672a92SWill Pazner
43ec672a92SWill Paznermutable struct CeedBasis_private end
44ec672a92SWill Pazner
45ec672a92SWill Paznerconst CeedBasis = Ptr{CeedBasis_private}
46ec672a92SWill Pazner
47443fcf8aSWill Paznermutable struct CeedQFunctionField_private end
48443fcf8aSWill Pazner
49443fcf8aSWill Paznerconst CeedQFunctionField = Ptr{CeedQFunctionField_private}
50443fcf8aSWill Pazner
51ec672a92SWill Paznermutable struct CeedQFunction_private end
52ec672a92SWill Pazner
53ec672a92SWill Paznerconst CeedQFunction = Ptr{CeedQFunction_private}
54ec672a92SWill Pazner
55443fcf8aSWill Paznermutable struct CeedOperatorField_private end
56443fcf8aSWill Pazner
57443fcf8aSWill Paznerconst CeedOperatorField = Ptr{CeedOperatorField_private}
58443fcf8aSWill Pazner
59ec672a92SWill Paznermutable struct CeedQFunctionContext_private end
60ec672a92SWill Pazner
61ec672a92SWill Paznerconst CeedQFunctionContext = Ptr{CeedQFunctionContext_private}
62ec672a92SWill Pazner
63*daadeac6SWill Paznermutable struct CeedContextFieldLabel_private end
64*daadeac6SWill Pazner
65*daadeac6SWill Paznerconst CeedContextFieldLabel = Ptr{CeedContextFieldLabel_private}
66*daadeac6SWill Pazner
67ec672a92SWill Paznermutable struct CeedOperator_private end
68ec672a92SWill Pazner
69ec672a92SWill Paznerconst CeedOperator = Ptr{CeedOperator_private}
70ec672a92SWill Pazner
71ec672a92SWill Paznerfunction CeedRegistryGetList(n, resources, array)
72ec672a92SWill Pazner    ccall((:CeedRegistryGetList, libceed), Cint, (Ptr{Csize_t}, Ptr{Ptr{Ptr{Cchar}}}, Ptr{Ptr{CeedInt}}), n, resources, array)
73ec672a92SWill Paznerend
74ec672a92SWill Pazner
75ec672a92SWill Paznerfunction CeedInit(resource, ceed)
76ec672a92SWill Pazner    ccall((:CeedInit, libceed), Cint, (Ptr{Cchar}, Ptr{Ceed}), resource, ceed)
77ec672a92SWill Paznerend
78ec672a92SWill Pazner
79ec672a92SWill Paznerfunction CeedReferenceCopy(ceed, ceed_copy)
80ec672a92SWill Pazner    ccall((:CeedReferenceCopy, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, ceed_copy)
81ec672a92SWill Paznerend
82ec672a92SWill Pazner
83ec672a92SWill Paznerfunction CeedGetResource(ceed, resource)
84ec672a92SWill Pazner    ccall((:CeedGetResource, libceed), Cint, (Ceed, Ptr{Ptr{Cchar}}), ceed, resource)
85ec672a92SWill Paznerend
86ec672a92SWill Pazner
87ec672a92SWill Paznerfunction CeedIsDeterministic(ceed, is_deterministic)
88ec672a92SWill Pazner    ccall((:CeedIsDeterministic, libceed), Cint, (Ceed, Ptr{Bool}), ceed, is_deterministic)
89ec672a92SWill Paznerend
90ec672a92SWill Pazner
91*daadeac6SWill Paznerfunction CeedAddJitSourceRoot(ceed, jit_source_root)
92*daadeac6SWill Pazner    ccall((:CeedAddJitSourceRoot, libceed), Cint, (Ceed, Ptr{Cchar}), ceed, jit_source_root)
93*daadeac6SWill Paznerend
94*daadeac6SWill Pazner
95ec672a92SWill Paznerfunction CeedView(ceed, stream)
96ec672a92SWill Pazner    ccall((:CeedView, libceed), Cint, (Ceed, Ptr{Libc.FILE}), ceed, stream)
97ec672a92SWill Paznerend
98ec672a92SWill Pazner
99ec672a92SWill Paznerfunction CeedDestroy(ceed)
100ec672a92SWill Pazner    ccall((:CeedDestroy, libceed), Cint, (Ptr{Ceed},), ceed)
101ec672a92SWill Paznerend
102ec672a92SWill Pazner
103ec672a92SWill Pazner# typedef int ( * CeedErrorHandler ) ( Ceed , const char * , int , const char * , int , const char * , va_list * )
104ec672a92SWill Paznerconst CeedErrorHandler = Ptr{Cvoid}
105ec672a92SWill Pazner
106ec672a92SWill Paznerfunction CeedSetErrorHandler(ceed, eh)
107ec672a92SWill Pazner    ccall((:CeedSetErrorHandler, libceed), Cint, (Ceed, CeedErrorHandler), ceed, eh)
108ec672a92SWill Paznerend
109ec672a92SWill Pazner
110ec672a92SWill Paznerfunction CeedGetErrorMessage(arg1, err_msg)
111ec672a92SWill Pazner    ccall((:CeedGetErrorMessage, libceed), Cint, (Ceed, Ptr{Ptr{Cchar}}), arg1, err_msg)
112ec672a92SWill Paznerend
113ec672a92SWill Pazner
114ec672a92SWill Paznerfunction CeedResetErrorMessage(arg1, err_msg)
115ec672a92SWill Pazner    ccall((:CeedResetErrorMessage, libceed), Cint, (Ceed, Ptr{Ptr{Cchar}}), arg1, err_msg)
116ec672a92SWill Paznerend
117ec672a92SWill Pazner
118ec672a92SWill Paznerfunction CeedGetVersion(major, minor, patch, release)
119ec672a92SWill Pazner    ccall((:CeedGetVersion, libceed), Cint, (Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Bool}), major, minor, patch, release)
120ec672a92SWill Paznerend
121ec672a92SWill Pazner
12280a9ef05SNatalie Beamsfunction CeedGetScalarType(scalar_type)
12380a9ef05SNatalie Beams    ccall((:CeedGetScalarType, libceed), Cint, (Ptr{CeedScalarType},), scalar_type)
12480a9ef05SNatalie Beamsend
12580a9ef05SNatalie Beams
126ec672a92SWill Pazner@cenum CeedMemType::UInt32 begin
127ec672a92SWill Pazner    CEED_MEM_HOST = 0
128ec672a92SWill Pazner    CEED_MEM_DEVICE = 1
129ec672a92SWill Paznerend
130ec672a92SWill Pazner
131ec672a92SWill Paznerfunction CeedGetPreferredMemType(ceed, type)
132ec672a92SWill Pazner    ccall((:CeedGetPreferredMemType, libceed), Cint, (Ceed, Ptr{CeedMemType}), ceed, type)
133ec672a92SWill Paznerend
134ec672a92SWill Pazner
135ec672a92SWill Pazner@cenum CeedCopyMode::UInt32 begin
136ec672a92SWill Pazner    CEED_COPY_VALUES = 0
137ec672a92SWill Pazner    CEED_USE_POINTER = 1
138ec672a92SWill Pazner    CEED_OWN_POINTER = 2
139ec672a92SWill Paznerend
140ec672a92SWill Pazner
141ec672a92SWill Pazner@cenum CeedNormType::UInt32 begin
142ec672a92SWill Pazner    CEED_NORM_1 = 0
143ec672a92SWill Pazner    CEED_NORM_2 = 1
144ec672a92SWill Pazner    CEED_NORM_MAX = 2
145ec672a92SWill Paznerend
146ec672a92SWill Pazner
147ec672a92SWill Paznerfunction CeedVectorCreate(ceed, len, vec)
148*daadeac6SWill Pazner    ccall((:CeedVectorCreate, libceed), Cint, (Ceed, CeedSize, Ptr{CeedVector}), ceed, len, vec)
149ec672a92SWill Paznerend
150ec672a92SWill Pazner
151ec672a92SWill Paznerfunction CeedVectorReferenceCopy(vec, vec_copy)
152ec672a92SWill Pazner    ccall((:CeedVectorReferenceCopy, libceed), Cint, (CeedVector, Ptr{CeedVector}), vec, vec_copy)
153ec672a92SWill Paznerend
154ec672a92SWill Pazner
155ec672a92SWill Paznerfunction CeedVectorSetArray(vec, mem_type, copy_mode, array)
156ec672a92SWill Pazner    ccall((:CeedVectorSetArray, libceed), Cint, (CeedVector, CeedMemType, CeedCopyMode, Ptr{CeedScalar}), vec, mem_type, copy_mode, array)
157ec672a92SWill Paznerend
158ec672a92SWill Pazner
159ec672a92SWill Paznerfunction CeedVectorSetValue(vec, value)
160ec672a92SWill Pazner    ccall((:CeedVectorSetValue, libceed), Cint, (CeedVector, CeedScalar), vec, value)
161ec672a92SWill Paznerend
162ec672a92SWill Pazner
163ec672a92SWill Paznerfunction CeedVectorSyncArray(vec, mem_type)
164ec672a92SWill Pazner    ccall((:CeedVectorSyncArray, libceed), Cint, (CeedVector, CeedMemType), vec, mem_type)
165ec672a92SWill Paznerend
166ec672a92SWill Pazner
167ec672a92SWill Paznerfunction CeedVectorTakeArray(vec, mem_type, array)
168ec672a92SWill Pazner    ccall((:CeedVectorTakeArray, libceed), Cint, (CeedVector, CeedMemType, Ptr{Ptr{CeedScalar}}), vec, mem_type, array)
169ec672a92SWill Paznerend
170ec672a92SWill Pazner
171ec672a92SWill Paznerfunction CeedVectorGetArray(vec, mem_type, array)
172ec672a92SWill Pazner    ccall((:CeedVectorGetArray, libceed), Cint, (CeedVector, CeedMemType, Ptr{Ptr{CeedScalar}}), vec, mem_type, array)
173ec672a92SWill Paznerend
174ec672a92SWill Pazner
175ec672a92SWill Paznerfunction CeedVectorGetArrayRead(vec, mem_type, array)
176ec672a92SWill Pazner    ccall((:CeedVectorGetArrayRead, libceed), Cint, (CeedVector, CeedMemType, Ptr{Ptr{CeedScalar}}), vec, mem_type, array)
177ec672a92SWill Paznerend
178ec672a92SWill Pazner
179*daadeac6SWill Paznerfunction CeedVectorGetArrayWrite(vec, mem_type, array)
180*daadeac6SWill Pazner    ccall((:CeedVectorGetArrayWrite, libceed), Cint, (CeedVector, CeedMemType, Ptr{Ptr{CeedScalar}}), vec, mem_type, array)
181*daadeac6SWill Paznerend
182*daadeac6SWill Pazner
183ec672a92SWill Paznerfunction CeedVectorRestoreArray(vec, array)
184ec672a92SWill Pazner    ccall((:CeedVectorRestoreArray, libceed), Cint, (CeedVector, Ptr{Ptr{CeedScalar}}), vec, array)
185ec672a92SWill Paznerend
186ec672a92SWill Pazner
187ec672a92SWill Paznerfunction CeedVectorRestoreArrayRead(vec, array)
188ec672a92SWill Pazner    ccall((:CeedVectorRestoreArrayRead, libceed), Cint, (CeedVector, Ptr{Ptr{CeedScalar}}), vec, array)
189ec672a92SWill Paznerend
190ec672a92SWill Pazner
191ec672a92SWill Paznerfunction CeedVectorNorm(vec, type, norm)
192ec672a92SWill Pazner    ccall((:CeedVectorNorm, libceed), Cint, (CeedVector, CeedNormType, Ptr{CeedScalar}), vec, type, norm)
193ec672a92SWill Paznerend
194ec672a92SWill Pazner
195ec672a92SWill Paznerfunction CeedVectorScale(x, alpha)
196ec672a92SWill Pazner    ccall((:CeedVectorScale, libceed), Cint, (CeedVector, CeedScalar), x, alpha)
197ec672a92SWill Paznerend
198ec672a92SWill Pazner
199ec672a92SWill Paznerfunction CeedVectorAXPY(y, alpha, x)
200ec672a92SWill Pazner    ccall((:CeedVectorAXPY, libceed), Cint, (CeedVector, CeedScalar, CeedVector), y, alpha, x)
201ec672a92SWill Paznerend
202ec672a92SWill Pazner
203ec672a92SWill Paznerfunction CeedVectorPointwiseMult(w, x, y)
204ec672a92SWill Pazner    ccall((:CeedVectorPointwiseMult, libceed), Cint, (CeedVector, CeedVector, CeedVector), w, x, y)
205ec672a92SWill Paznerend
206ec672a92SWill Pazner
207ec672a92SWill Paznerfunction CeedVectorReciprocal(vec)
208ec672a92SWill Pazner    ccall((:CeedVectorReciprocal, libceed), Cint, (CeedVector,), vec)
209ec672a92SWill Paznerend
210ec672a92SWill Pazner
211ec672a92SWill Paznerfunction CeedVectorView(vec, fp_fmt, stream)
212ec672a92SWill Pazner    ccall((:CeedVectorView, libceed), Cint, (CeedVector, Ptr{Cchar}, Ptr{Libc.FILE}), vec, fp_fmt, stream)
213ec672a92SWill Paznerend
214ec672a92SWill Pazner
215*daadeac6SWill Paznerfunction CeedVectorGetCeed(vec, ceed)
216*daadeac6SWill Pazner    ccall((:CeedVectorGetCeed, libceed), Cint, (CeedVector, Ptr{Ceed}), vec, ceed)
217*daadeac6SWill Paznerend
218*daadeac6SWill Pazner
219ec672a92SWill Paznerfunction CeedVectorGetLength(vec, length)
220*daadeac6SWill Pazner    ccall((:CeedVectorGetLength, libceed), Cint, (CeedVector, Ptr{CeedSize}), vec, length)
221ec672a92SWill Paznerend
222ec672a92SWill Pazner
223ec672a92SWill Paznerfunction CeedVectorDestroy(vec)
224ec672a92SWill Pazner    ccall((:CeedVectorDestroy, libceed), Cint, (Ptr{CeedVector},), vec)
225ec672a92SWill Paznerend
226ec672a92SWill Pazner
227ec672a92SWill Paznerfunction CeedRequestWait(req)
228ec672a92SWill Pazner    ccall((:CeedRequestWait, libceed), Cint, (Ptr{CeedRequest},), req)
229ec672a92SWill Paznerend
230ec672a92SWill Pazner
231ec672a92SWill Pazner@cenum CeedTransposeMode::UInt32 begin
232ec672a92SWill Pazner    CEED_NOTRANSPOSE = 0
233ec672a92SWill Pazner    CEED_TRANSPOSE = 1
234ec672a92SWill Paznerend
235ec672a92SWill Pazner
236ec672a92SWill Paznerfunction CeedElemRestrictionCreate(ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)
237*daadeac6SWill Pazner    ccall((:CeedElemRestrictionCreate, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedSize, CeedMemType, CeedCopyMode, Ptr{CeedInt}, Ptr{CeedElemRestriction}), ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)
238*daadeac6SWill Paznerend
239*daadeac6SWill Pazner
240*daadeac6SWill Paznerfunction CeedElemRestrictionCreateOriented(ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, orient, rstr)
241*daadeac6SWill Pazner    ccall((:CeedElemRestrictionCreateOriented, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedSize, CeedMemType, CeedCopyMode, Ptr{CeedInt}, Ptr{Bool}, Ptr{CeedElemRestriction}), ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, orient, rstr)
242ec672a92SWill Paznerend
243ec672a92SWill Pazner
244ec672a92SWill Paznerfunction CeedElemRestrictionCreateStrided(ceed, num_elem, elem_size, num_comp, l_size, strides, rstr)
245*daadeac6SWill Pazner    ccall((:CeedElemRestrictionCreateStrided, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedSize, Ptr{CeedInt}, Ptr{CeedElemRestriction}), ceed, num_elem, elem_size, num_comp, l_size, strides, rstr)
246ec672a92SWill Paznerend
247ec672a92SWill Pazner
248ec672a92SWill Paznerfunction CeedElemRestrictionCreateBlocked(ceed, num_elem, elem_size, blk_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)
249*daadeac6SWill Pazner    ccall((:CeedElemRestrictionCreateBlocked, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedInt, CeedSize, CeedMemType, CeedCopyMode, Ptr{CeedInt}, Ptr{CeedElemRestriction}), ceed, num_elem, elem_size, blk_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)
250ec672a92SWill Paznerend
251ec672a92SWill Pazner
252ec672a92SWill Paznerfunction CeedElemRestrictionCreateBlockedStrided(ceed, num_elem, elem_size, blk_size, num_comp, l_size, strides, rstr)
253*daadeac6SWill Pazner    ccall((:CeedElemRestrictionCreateBlockedStrided, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedSize, Ptr{CeedInt}, Ptr{CeedElemRestriction}), ceed, num_elem, elem_size, blk_size, num_comp, l_size, strides, rstr)
254ec672a92SWill Paznerend
255ec672a92SWill Pazner
256ec672a92SWill Paznerfunction CeedElemRestrictionReferenceCopy(rstr, rstr_copy)
257ec672a92SWill Pazner    ccall((:CeedElemRestrictionReferenceCopy, libceed), Cint, (CeedElemRestriction, Ptr{CeedElemRestriction}), rstr, rstr_copy)
258ec672a92SWill Paznerend
259ec672a92SWill Pazner
260ec672a92SWill Paznerfunction CeedElemRestrictionCreateVector(rstr, lvec, evec)
261ec672a92SWill Pazner    ccall((:CeedElemRestrictionCreateVector, libceed), Cint, (CeedElemRestriction, Ptr{CeedVector}, Ptr{CeedVector}), rstr, lvec, evec)
262ec672a92SWill Paznerend
263ec672a92SWill Pazner
264ec672a92SWill Paznerfunction CeedElemRestrictionApply(rstr, t_mode, u, ru, request)
265ec672a92SWill Pazner    ccall((:CeedElemRestrictionApply, libceed), Cint, (CeedElemRestriction, CeedTransposeMode, CeedVector, CeedVector, Ptr{CeedRequest}), rstr, t_mode, u, ru, request)
266ec672a92SWill Paznerend
267ec672a92SWill Pazner
268ec672a92SWill Paznerfunction CeedElemRestrictionApplyBlock(rstr, block, t_mode, u, ru, request)
269ec672a92SWill Pazner    ccall((:CeedElemRestrictionApplyBlock, libceed), Cint, (CeedElemRestriction, CeedInt, CeedTransposeMode, CeedVector, CeedVector, Ptr{CeedRequest}), rstr, block, t_mode, u, ru, request)
270ec672a92SWill Paznerend
271ec672a92SWill Pazner
272*daadeac6SWill Paznerfunction CeedElemRestrictionGetCeed(rstr, ceed)
273*daadeac6SWill Pazner    ccall((:CeedElemRestrictionGetCeed, libceed), Cint, (CeedElemRestriction, Ptr{Ceed}), rstr, ceed)
274*daadeac6SWill Paznerend
275*daadeac6SWill Pazner
276ec672a92SWill Paznerfunction CeedElemRestrictionGetCompStride(rstr, comp_stride)
277ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetCompStride, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, comp_stride)
278ec672a92SWill Paznerend
279ec672a92SWill Pazner
280ec672a92SWill Paznerfunction CeedElemRestrictionGetNumElements(rstr, num_elem)
281ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetNumElements, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, num_elem)
282ec672a92SWill Paznerend
283ec672a92SWill Pazner
284ec672a92SWill Paznerfunction CeedElemRestrictionGetElementSize(rstr, elem_size)
285ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetElementSize, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, elem_size)
286ec672a92SWill Paznerend
287ec672a92SWill Pazner
288ec672a92SWill Paznerfunction CeedElemRestrictionGetLVectorSize(rstr, l_size)
289*daadeac6SWill Pazner    ccall((:CeedElemRestrictionGetLVectorSize, libceed), Cint, (CeedElemRestriction, Ptr{CeedSize}), rstr, l_size)
290ec672a92SWill Paznerend
291ec672a92SWill Pazner
292ec672a92SWill Paznerfunction CeedElemRestrictionGetNumComponents(rstr, num_comp)
293ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetNumComponents, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, num_comp)
294ec672a92SWill Paznerend
295ec672a92SWill Pazner
296ec672a92SWill Paznerfunction CeedElemRestrictionGetNumBlocks(rstr, num_blk)
297ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetNumBlocks, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, num_blk)
298ec672a92SWill Paznerend
299ec672a92SWill Pazner
300ec672a92SWill Paznerfunction CeedElemRestrictionGetBlockSize(rstr, blk_size)
301ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetBlockSize, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, blk_size)
302ec672a92SWill Paznerend
303ec672a92SWill Pazner
304ec672a92SWill Paznerfunction CeedElemRestrictionGetMultiplicity(rstr, mult)
305ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetMultiplicity, libceed), Cint, (CeedElemRestriction, CeedVector), rstr, mult)
306ec672a92SWill Paznerend
307ec672a92SWill Pazner
308ec672a92SWill Paznerfunction CeedElemRestrictionView(rstr, stream)
309ec672a92SWill Pazner    ccall((:CeedElemRestrictionView, libceed), Cint, (CeedElemRestriction, Ptr{Libc.FILE}), rstr, stream)
310ec672a92SWill Paznerend
311ec672a92SWill Pazner
312ec672a92SWill Paznerfunction CeedElemRestrictionDestroy(rstr)
313ec672a92SWill Pazner    ccall((:CeedElemRestrictionDestroy, libceed), Cint, (Ptr{CeedElemRestriction},), rstr)
314ec672a92SWill Paznerend
315ec672a92SWill Pazner
316ec672a92SWill Pazner@cenum CeedEvalMode::UInt32 begin
317ec672a92SWill Pazner    CEED_EVAL_NONE = 0
318ec672a92SWill Pazner    CEED_EVAL_INTERP = 1
319ec672a92SWill Pazner    CEED_EVAL_GRAD = 2
320ec672a92SWill Pazner    CEED_EVAL_DIV = 4
321ec672a92SWill Pazner    CEED_EVAL_CURL = 8
322ec672a92SWill Pazner    CEED_EVAL_WEIGHT = 16
323ec672a92SWill Paznerend
324ec672a92SWill Pazner
325ec672a92SWill Pazner@cenum CeedQuadMode::UInt32 begin
326ec672a92SWill Pazner    CEED_GAUSS = 0
327ec672a92SWill Pazner    CEED_GAUSS_LOBATTO = 1
328ec672a92SWill Paznerend
329ec672a92SWill Pazner
330ec672a92SWill Pazner@cenum CeedElemTopology::UInt32 begin
33150c301a5SRezgar Shakeri    CEED_TOPOLOGY_LINE = 65536
33250c301a5SRezgar Shakeri    CEED_TOPOLOGY_TRIANGLE = 131073
33350c301a5SRezgar Shakeri    CEED_TOPOLOGY_QUAD = 131074
33450c301a5SRezgar Shakeri    CEED_TOPOLOGY_TET = 196611
33550c301a5SRezgar Shakeri    CEED_TOPOLOGY_PYRAMID = 196612
33650c301a5SRezgar Shakeri    CEED_TOPOLOGY_PRISM = 196613
33750c301a5SRezgar Shakeri    CEED_TOPOLOGY_HEX = 196614
338ec672a92SWill Paznerend
339ec672a92SWill Pazner
340ec672a92SWill Paznerfunction CeedBasisCreateTensorH1Lagrange(ceed, dim, num_comp, P, Q, quad_mode, basis)
341ec672a92SWill Pazner    ccall((:CeedBasisCreateTensorH1Lagrange, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedQuadMode, Ptr{CeedBasis}), ceed, dim, num_comp, P, Q, quad_mode, basis)
342ec672a92SWill Paznerend
343ec672a92SWill Pazner
344ec672a92SWill Paznerfunction CeedBasisCreateTensorH1(ceed, dim, num_comp, P_1d, Q_1d, interp_1d, grad_1d, q_ref_1d, q_weight_1d, basis)
345ec672a92SWill Pazner    ccall((:CeedBasisCreateTensorH1, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedBasis}), ceed, dim, num_comp, P_1d, Q_1d, interp_1d, grad_1d, q_ref_1d, q_weight_1d, basis)
346ec672a92SWill Paznerend
347ec672a92SWill Pazner
348ec672a92SWill Paznerfunction CeedBasisCreateH1(ceed, topo, num_comp, num_nodes, nqpts, interp, grad, q_ref, q_weights, basis)
349ec672a92SWill Pazner    ccall((:CeedBasisCreateH1, libceed), Cint, (Ceed, CeedElemTopology, CeedInt, CeedInt, CeedInt, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedBasis}), ceed, topo, num_comp, num_nodes, nqpts, interp, grad, q_ref, q_weights, basis)
350ec672a92SWill Paznerend
351ec672a92SWill Pazner
352*daadeac6SWill Paznerfunction CeedBasisCreateHdiv(ceed, topo, num_comp, num_nodes, nqpts, interp, div, q_ref, q_weights, basis)
353*daadeac6SWill Pazner    ccall((:CeedBasisCreateHdiv, libceed), Cint, (Ceed, CeedElemTopology, CeedInt, CeedInt, CeedInt, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedBasis}), ceed, topo, num_comp, num_nodes, nqpts, interp, div, q_ref, q_weights, basis)
354*daadeac6SWill Paznerend
355*daadeac6SWill Pazner
356*daadeac6SWill Paznerfunction CeedBasisCreateProjection(basis_from, basis_to, basis_project)
357*daadeac6SWill Pazner    ccall((:CeedBasisCreateProjection, libceed), Cint, (CeedBasis, CeedBasis, Ptr{CeedBasis}), basis_from, basis_to, basis_project)
358*daadeac6SWill Paznerend
359*daadeac6SWill Pazner
360ec672a92SWill Paznerfunction CeedBasisReferenceCopy(basis, basis_copy)
361ec672a92SWill Pazner    ccall((:CeedBasisReferenceCopy, libceed), Cint, (CeedBasis, Ptr{CeedBasis}), basis, basis_copy)
362ec672a92SWill Paznerend
363ec672a92SWill Pazner
364ec672a92SWill Paznerfunction CeedBasisView(basis, stream)
365ec672a92SWill Pazner    ccall((:CeedBasisView, libceed), Cint, (CeedBasis, Ptr{Libc.FILE}), basis, stream)
366ec672a92SWill Paznerend
367ec672a92SWill Pazner
368ec672a92SWill Paznerfunction CeedBasisApply(basis, num_elem, t_mode, eval_mode, u, v)
369ec672a92SWill Pazner    ccall((:CeedBasisApply, libceed), Cint, (CeedBasis, CeedInt, CeedTransposeMode, CeedEvalMode, CeedVector, CeedVector), basis, num_elem, t_mode, eval_mode, u, v)
370ec672a92SWill Paznerend
371ec672a92SWill Pazner
372*daadeac6SWill Paznerfunction CeedBasisGetCeed(basis, ceed)
373*daadeac6SWill Pazner    ccall((:CeedBasisGetCeed, libceed), Cint, (CeedBasis, Ptr{Ceed}), basis, ceed)
374*daadeac6SWill Paznerend
375*daadeac6SWill Pazner
376ec672a92SWill Paznerfunction CeedBasisGetDimension(basis, dim)
377ec672a92SWill Pazner    ccall((:CeedBasisGetDimension, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, dim)
378ec672a92SWill Paznerend
379ec672a92SWill Pazner
380ec672a92SWill Paznerfunction CeedBasisGetTopology(basis, topo)
381ec672a92SWill Pazner    ccall((:CeedBasisGetTopology, libceed), Cint, (CeedBasis, Ptr{CeedElemTopology}), basis, topo)
382ec672a92SWill Paznerend
383ec672a92SWill Pazner
384*daadeac6SWill Paznerfunction CeedBasisGetNumQuadratureComponents(basis, Q_comp)
385*daadeac6SWill Pazner    ccall((:CeedBasisGetNumQuadratureComponents, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, Q_comp)
386*daadeac6SWill Paznerend
387*daadeac6SWill Pazner
388ec672a92SWill Paznerfunction CeedBasisGetNumComponents(basis, num_comp)
389ec672a92SWill Pazner    ccall((:CeedBasisGetNumComponents, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, num_comp)
390ec672a92SWill Paznerend
391ec672a92SWill Pazner
392ec672a92SWill Paznerfunction CeedBasisGetNumNodes(basis, P)
393ec672a92SWill Pazner    ccall((:CeedBasisGetNumNodes, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, P)
394ec672a92SWill Paznerend
395ec672a92SWill Pazner
396ec672a92SWill Paznerfunction CeedBasisGetNumNodes1D(basis, P_1d)
397ec672a92SWill Pazner    ccall((:CeedBasisGetNumNodes1D, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, P_1d)
398ec672a92SWill Paznerend
399ec672a92SWill Pazner
400ec672a92SWill Paznerfunction CeedBasisGetNumQuadraturePoints(basis, Q)
401ec672a92SWill Pazner    ccall((:CeedBasisGetNumQuadraturePoints, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, Q)
402ec672a92SWill Paznerend
403ec672a92SWill Pazner
404ec672a92SWill Paznerfunction CeedBasisGetNumQuadraturePoints1D(basis, Q_1d)
405ec672a92SWill Pazner    ccall((:CeedBasisGetNumQuadraturePoints1D, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, Q_1d)
406ec672a92SWill Paznerend
407ec672a92SWill Pazner
408ec672a92SWill Paznerfunction CeedBasisGetQRef(basis, q_ref)
409ec672a92SWill Pazner    ccall((:CeedBasisGetQRef, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, q_ref)
410ec672a92SWill Paznerend
411ec672a92SWill Pazner
412ec672a92SWill Paznerfunction CeedBasisGetQWeights(basis, q_weights)
413ec672a92SWill Pazner    ccall((:CeedBasisGetQWeights, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, q_weights)
414ec672a92SWill Paznerend
415ec672a92SWill Pazner
416ec672a92SWill Paznerfunction CeedBasisGetInterp(basis, interp)
417ec672a92SWill Pazner    ccall((:CeedBasisGetInterp, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, interp)
418ec672a92SWill Paznerend
419ec672a92SWill Pazner
420ec672a92SWill Paznerfunction CeedBasisGetInterp1D(basis, interp_1d)
421ec672a92SWill Pazner    ccall((:CeedBasisGetInterp1D, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, interp_1d)
422ec672a92SWill Paznerend
423ec672a92SWill Pazner
424ec672a92SWill Paznerfunction CeedBasisGetGrad(basis, grad)
425ec672a92SWill Pazner    ccall((:CeedBasisGetGrad, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, grad)
426ec672a92SWill Paznerend
427ec672a92SWill Pazner
428ec672a92SWill Paznerfunction CeedBasisGetGrad1D(basis, grad_1d)
429ec672a92SWill Pazner    ccall((:CeedBasisGetGrad1D, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, grad_1d)
430ec672a92SWill Paznerend
431ec672a92SWill Pazner
432*daadeac6SWill Paznerfunction CeedBasisGetDiv(basis, div)
433*daadeac6SWill Pazner    ccall((:CeedBasisGetDiv, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, div)
434*daadeac6SWill Paznerend
435*daadeac6SWill Pazner
436ec672a92SWill Paznerfunction CeedBasisDestroy(basis)
437ec672a92SWill Pazner    ccall((:CeedBasisDestroy, libceed), Cint, (Ptr{CeedBasis},), basis)
438ec672a92SWill Paznerend
439ec672a92SWill Pazner
440ec672a92SWill Paznerfunction CeedGaussQuadrature(Q, q_ref_1d, q_weight_1d)
441ec672a92SWill Pazner    ccall((:CeedGaussQuadrature, libceed), Cint, (CeedInt, Ptr{CeedScalar}, Ptr{CeedScalar}), Q, q_ref_1d, q_weight_1d)
442ec672a92SWill Paznerend
443ec672a92SWill Pazner
444ec672a92SWill Paznerfunction CeedLobattoQuadrature(Q, q_ref_1d, q_weight_1d)
445ec672a92SWill Pazner    ccall((:CeedLobattoQuadrature, libceed), Cint, (CeedInt, Ptr{CeedScalar}, Ptr{CeedScalar}), Q, q_ref_1d, q_weight_1d)
446ec672a92SWill Paznerend
447ec672a92SWill Pazner
448ec672a92SWill Paznerfunction CeedQRFactorization(ceed, mat, tau, m, n)
449ec672a92SWill Pazner    ccall((:CeedQRFactorization, libceed), Cint, (Ceed, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedInt, CeedInt), ceed, mat, tau, m, n)
450ec672a92SWill Paznerend
451ec672a92SWill Pazner
452ec672a92SWill Paznerfunction CeedSymmetricSchurDecomposition(ceed, mat, lambda, n)
453ec672a92SWill Pazner    ccall((:CeedSymmetricSchurDecomposition, libceed), Cint, (Ceed, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedInt), ceed, mat, lambda, n)
454ec672a92SWill Paznerend
455ec672a92SWill Pazner
456ec672a92SWill Paznerfunction CeedSimultaneousDiagonalization(ceed, mat_A, mat_B, x, lambda, n)
457ec672a92SWill Pazner    ccall((:CeedSimultaneousDiagonalization, libceed), Cint, (Ceed, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedInt), ceed, mat_A, mat_B, x, lambda, n)
458ec672a92SWill Paznerend
459ec672a92SWill Pazner
460ec672a92SWill Pazner# typedef int ( * CeedQFunctionUser ) ( void * ctx , const CeedInt Q , const CeedScalar * const * in , CeedScalar * const * out )
461ec672a92SWill Paznerconst CeedQFunctionUser = Ptr{Cvoid}
462ec672a92SWill Pazner
463ec672a92SWill Paznerfunction CeedQFunctionCreateInterior(ceed, vec_length, f, source, qf)
464ec672a92SWill Pazner    ccall((:CeedQFunctionCreateInterior, libceed), Cint, (Ceed, CeedInt, CeedQFunctionUser, Ptr{Cchar}, Ptr{CeedQFunction}), ceed, vec_length, f, source, qf)
465ec672a92SWill Paznerend
466ec672a92SWill Pazner
467ec672a92SWill Paznerfunction CeedQFunctionCreateInteriorByName(ceed, name, qf)
468ec672a92SWill Pazner    ccall((:CeedQFunctionCreateInteriorByName, libceed), Cint, (Ceed, Ptr{Cchar}, Ptr{CeedQFunction}), ceed, name, qf)
469ec672a92SWill Paznerend
470ec672a92SWill Pazner
471ec672a92SWill Paznerfunction CeedQFunctionCreateIdentity(ceed, size, in_mode, out_mode, qf)
472ec672a92SWill Pazner    ccall((:CeedQFunctionCreateIdentity, libceed), Cint, (Ceed, CeedInt, CeedEvalMode, CeedEvalMode, Ptr{CeedQFunction}), ceed, size, in_mode, out_mode, qf)
473ec672a92SWill Paznerend
474ec672a92SWill Pazner
475ec672a92SWill Paznerfunction CeedQFunctionReferenceCopy(qf, qf_copy)
476ec672a92SWill Pazner    ccall((:CeedQFunctionReferenceCopy, libceed), Cint, (CeedQFunction, Ptr{CeedQFunction}), qf, qf_copy)
477ec672a92SWill Paznerend
478ec672a92SWill Pazner
479ec672a92SWill Paznerfunction CeedQFunctionAddInput(qf, field_name, size, eval_mode)
480ec672a92SWill Pazner    ccall((:CeedQFunctionAddInput, libceed), Cint, (CeedQFunction, Ptr{Cchar}, CeedInt, CeedEvalMode), qf, field_name, size, eval_mode)
481ec672a92SWill Paznerend
482ec672a92SWill Pazner
483ec672a92SWill Paznerfunction CeedQFunctionAddOutput(qf, field_name, size, eval_mode)
484ec672a92SWill Pazner    ccall((:CeedQFunctionAddOutput, libceed), Cint, (CeedQFunction, Ptr{Cchar}, CeedInt, CeedEvalMode), qf, field_name, size, eval_mode)
485ec672a92SWill Paznerend
486ec672a92SWill Pazner
487443fcf8aSWill Paznerfunction CeedQFunctionGetFields(qf, num_input_fields, input_fields, num_output_fields, output_fields)
488443fcf8aSWill Pazner    ccall((:CeedQFunctionGetFields, libceed), Cint, (CeedQFunction, Ptr{CeedInt}, Ptr{Ptr{CeedQFunctionField}}, Ptr{CeedInt}, Ptr{Ptr{CeedQFunctionField}}), qf, num_input_fields, input_fields, num_output_fields, output_fields)
489443fcf8aSWill Paznerend
490443fcf8aSWill Pazner
491ec672a92SWill Paznerfunction CeedQFunctionSetContext(qf, ctx)
492ec672a92SWill Pazner    ccall((:CeedQFunctionSetContext, libceed), Cint, (CeedQFunction, CeedQFunctionContext), qf, ctx)
493ec672a92SWill Paznerend
494ec672a92SWill Pazner
495*daadeac6SWill Paznerfunction CeedQFunctionSetContextWritable(qf, is_writable)
496*daadeac6SWill Pazner    ccall((:CeedQFunctionSetContextWritable, libceed), Cint, (CeedQFunction, Bool), qf, is_writable)
497*daadeac6SWill Paznerend
498*daadeac6SWill Pazner
499*daadeac6SWill Paznerfunction CeedQFunctionSetUserFlopsEstimate(qf, flops)
500*daadeac6SWill Pazner    ccall((:CeedQFunctionSetUserFlopsEstimate, libceed), Cint, (CeedQFunction, CeedSize), qf, flops)
501*daadeac6SWill Paznerend
502*daadeac6SWill Pazner
503ec672a92SWill Paznerfunction CeedQFunctionView(qf, stream)
504ec672a92SWill Pazner    ccall((:CeedQFunctionView, libceed), Cint, (CeedQFunction, Ptr{Libc.FILE}), qf, stream)
505ec672a92SWill Paznerend
506ec672a92SWill Pazner
507*daadeac6SWill Paznerfunction CeedQFunctionGetCeed(qf, ceed)
508*daadeac6SWill Pazner    ccall((:CeedQFunctionGetCeed, libceed), Cint, (CeedQFunction, Ptr{Ceed}), qf, ceed)
509*daadeac6SWill Paznerend
510*daadeac6SWill Pazner
511ec672a92SWill Paznerfunction CeedQFunctionApply(qf, Q, u, v)
512ec672a92SWill Pazner    ccall((:CeedQFunctionApply, libceed), Cint, (CeedQFunction, CeedInt, Ptr{CeedVector}, Ptr{CeedVector}), qf, Q, u, v)
513ec672a92SWill Paznerend
514ec672a92SWill Pazner
515ec672a92SWill Paznerfunction CeedQFunctionDestroy(qf)
516ec672a92SWill Pazner    ccall((:CeedQFunctionDestroy, libceed), Cint, (Ptr{CeedQFunction},), qf)
517ec672a92SWill Paznerend
518ec672a92SWill Pazner
519443fcf8aSWill Paznerfunction CeedQFunctionFieldGetName(qf_field, field_name)
520443fcf8aSWill Pazner    ccall((:CeedQFunctionFieldGetName, libceed), Cint, (CeedQFunctionField, Ptr{Ptr{Cchar}}), qf_field, field_name)
521443fcf8aSWill Paznerend
522443fcf8aSWill Pazner
523443fcf8aSWill Paznerfunction CeedQFunctionFieldGetSize(qf_field, size)
524443fcf8aSWill Pazner    ccall((:CeedQFunctionFieldGetSize, libceed), Cint, (CeedQFunctionField, Ptr{CeedInt}), qf_field, size)
525443fcf8aSWill Paznerend
526443fcf8aSWill Pazner
527443fcf8aSWill Paznerfunction CeedQFunctionFieldGetEvalMode(qf_field, eval_mode)
528443fcf8aSWill Pazner    ccall((:CeedQFunctionFieldGetEvalMode, libceed), Cint, (CeedQFunctionField, Ptr{CeedEvalMode}), qf_field, eval_mode)
529443fcf8aSWill Paznerend
530443fcf8aSWill Pazner
531*daadeac6SWill Pazner@cenum CeedContextFieldType::UInt32 begin
532*daadeac6SWill Pazner    CEED_CONTEXT_FIELD_DOUBLE = 1
533*daadeac6SWill Pazner    CEED_CONTEXT_FIELD_INT32 = 2
534*daadeac6SWill Paznerend
535*daadeac6SWill Pazner
536*daadeac6SWill Pazner# typedef int ( * CeedQFunctionContextDataDestroyUser ) ( void * data )
537*daadeac6SWill Paznerconst CeedQFunctionContextDataDestroyUser = Ptr{Cvoid}
538*daadeac6SWill Pazner
539ec672a92SWill Paznerfunction CeedQFunctionContextCreate(ceed, ctx)
540ec672a92SWill Pazner    ccall((:CeedQFunctionContextCreate, libceed), Cint, (Ceed, Ptr{CeedQFunctionContext}), ceed, ctx)
541ec672a92SWill Paznerend
542ec672a92SWill Pazner
543ec672a92SWill Paznerfunction CeedQFunctionContextReferenceCopy(ctx, ctx_copy)
544ec672a92SWill Pazner    ccall((:CeedQFunctionContextReferenceCopy, libceed), Cint, (CeedQFunctionContext, Ptr{CeedQFunctionContext}), ctx, ctx_copy)
545ec672a92SWill Paznerend
546ec672a92SWill Pazner
547ec672a92SWill Paznerfunction CeedQFunctionContextSetData(ctx, mem_type, copy_mode, size, data)
548ec672a92SWill Pazner    ccall((:CeedQFunctionContextSetData, libceed), Cint, (CeedQFunctionContext, CeedMemType, CeedCopyMode, Csize_t, Ptr{Cvoid}), ctx, mem_type, copy_mode, size, data)
549ec672a92SWill Paznerend
550ec672a92SWill Pazner
551ec672a92SWill Paznerfunction CeedQFunctionContextTakeData(ctx, mem_type, data)
552ec672a92SWill Pazner    ccall((:CeedQFunctionContextTakeData, libceed), Cint, (CeedQFunctionContext, CeedMemType, Ptr{Cvoid}), ctx, mem_type, data)
553ec672a92SWill Paznerend
554ec672a92SWill Pazner
555ec672a92SWill Paznerfunction CeedQFunctionContextGetData(ctx, mem_type, data)
556ec672a92SWill Pazner    ccall((:CeedQFunctionContextGetData, libceed), Cint, (CeedQFunctionContext, CeedMemType, Ptr{Cvoid}), ctx, mem_type, data)
557ec672a92SWill Paznerend
558ec672a92SWill Pazner
559*daadeac6SWill Paznerfunction CeedQFunctionContextGetDataRead(ctx, mem_type, data)
560*daadeac6SWill Pazner    ccall((:CeedQFunctionContextGetDataRead, libceed), Cint, (CeedQFunctionContext, CeedMemType, Ptr{Cvoid}), ctx, mem_type, data)
561*daadeac6SWill Paznerend
562*daadeac6SWill Pazner
563ec672a92SWill Paznerfunction CeedQFunctionContextRestoreData(ctx, data)
564ec672a92SWill Pazner    ccall((:CeedQFunctionContextRestoreData, libceed), Cint, (CeedQFunctionContext, Ptr{Cvoid}), ctx, data)
565ec672a92SWill Paznerend
566ec672a92SWill Pazner
567*daadeac6SWill Paznerfunction CeedQFunctionContextRestoreDataRead(ctx, data)
568*daadeac6SWill Pazner    ccall((:CeedQFunctionContextRestoreDataRead, libceed), Cint, (CeedQFunctionContext, Ptr{Cvoid}), ctx, data)
569*daadeac6SWill Paznerend
570*daadeac6SWill Pazner
571*daadeac6SWill Paznerfunction CeedQFunctionContextRegisterDouble(ctx, field_name, field_offset, num_values, field_description)
572*daadeac6SWill Pazner    ccall((:CeedQFunctionContextRegisterDouble, libceed), Cint, (CeedQFunctionContext, Ptr{Cchar}, Csize_t, Csize_t, Ptr{Cchar}), ctx, field_name, field_offset, num_values, field_description)
573*daadeac6SWill Paznerend
574*daadeac6SWill Pazner
575*daadeac6SWill Paznerfunction CeedQFunctionContextRegisterInt32(ctx, field_name, field_offset, num_values, field_description)
576*daadeac6SWill Pazner    ccall((:CeedQFunctionContextRegisterInt32, libceed), Cint, (CeedQFunctionContext, Ptr{Cchar}, Csize_t, Csize_t, Ptr{Cchar}), ctx, field_name, field_offset, num_values, field_description)
577*daadeac6SWill Paznerend
578*daadeac6SWill Pazner
579*daadeac6SWill Paznerfunction CeedQFunctionContextGetAllFieldLabels(ctx, field_labels, num_fields)
580*daadeac6SWill Pazner    ccall((:CeedQFunctionContextGetAllFieldLabels, libceed), Cint, (CeedQFunctionContext, Ptr{Ptr{CeedContextFieldLabel}}, Ptr{CeedInt}), ctx, field_labels, num_fields)
581*daadeac6SWill Paznerend
582*daadeac6SWill Pazner
583*daadeac6SWill Paznerfunction CeedContextFieldLabelGetDescription(label, field_name, field_description, num_values, field_type)
584*daadeac6SWill Pazner    ccall((:CeedContextFieldLabelGetDescription, libceed), Cint, (CeedContextFieldLabel, Ptr{Ptr{Cchar}}, Ptr{Ptr{Cchar}}, Ptr{Csize_t}, Ptr{CeedContextFieldType}), label, field_name, field_description, num_values, field_type)
585*daadeac6SWill Paznerend
586*daadeac6SWill Pazner
58780a9ef05SNatalie Beamsfunction CeedQFunctionContextGetContextSize(ctx, ctx_size)
58880a9ef05SNatalie Beams    ccall((:CeedQFunctionContextGetContextSize, libceed), Cint, (CeedQFunctionContext, Ptr{Csize_t}), ctx, ctx_size)
58980a9ef05SNatalie Beamsend
59080a9ef05SNatalie Beams
591ec672a92SWill Paznerfunction CeedQFunctionContextView(ctx, stream)
592ec672a92SWill Pazner    ccall((:CeedQFunctionContextView, libceed), Cint, (CeedQFunctionContext, Ptr{Libc.FILE}), ctx, stream)
593ec672a92SWill Paznerend
594ec672a92SWill Pazner
595*daadeac6SWill Paznerfunction CeedQFunctionContextSetDataDestroy(ctx, f_mem_type, f)
596*daadeac6SWill Pazner    ccall((:CeedQFunctionContextSetDataDestroy, libceed), Cint, (CeedQFunctionContext, CeedMemType, CeedQFunctionContextDataDestroyUser), ctx, f_mem_type, f)
597*daadeac6SWill Paznerend
598*daadeac6SWill Pazner
599ec672a92SWill Paznerfunction CeedQFunctionContextDestroy(ctx)
600ec672a92SWill Pazner    ccall((:CeedQFunctionContextDestroy, libceed), Cint, (Ptr{CeedQFunctionContext},), ctx)
601ec672a92SWill Paznerend
602ec672a92SWill Pazner
603ec672a92SWill Paznerfunction CeedOperatorCreate(ceed, qf, dqf, dqfT, op)
604ec672a92SWill Pazner    ccall((:CeedOperatorCreate, libceed), Cint, (Ceed, CeedQFunction, CeedQFunction, CeedQFunction, Ptr{CeedOperator}), ceed, qf, dqf, dqfT, op)
605ec672a92SWill Paznerend
606ec672a92SWill Pazner
607ec672a92SWill Paznerfunction CeedCompositeOperatorCreate(ceed, op)
608ec672a92SWill Pazner    ccall((:CeedCompositeOperatorCreate, libceed), Cint, (Ceed, Ptr{CeedOperator}), ceed, op)
609ec672a92SWill Paznerend
610ec672a92SWill Pazner
611ec672a92SWill Paznerfunction CeedOperatorReferenceCopy(op, op_copy)
612ec672a92SWill Pazner    ccall((:CeedOperatorReferenceCopy, libceed), Cint, (CeedOperator, Ptr{CeedOperator}), op, op_copy)
613ec672a92SWill Paznerend
614ec672a92SWill Pazner
615ec672a92SWill Paznerfunction CeedOperatorSetField(op, field_name, r, b, v)
616ec672a92SWill Pazner    ccall((:CeedOperatorSetField, libceed), Cint, (CeedOperator, Ptr{Cchar}, CeedElemRestriction, CeedBasis, CeedVector), op, field_name, r, b, v)
617ec672a92SWill Paznerend
618ec672a92SWill Pazner
619443fcf8aSWill Paznerfunction CeedOperatorGetFields(op, num_input_fields, input_fields, num_output_fields, output_fields)
620443fcf8aSWill Pazner    ccall((:CeedOperatorGetFields, libceed), Cint, (CeedOperator, Ptr{CeedInt}, Ptr{Ptr{CeedOperatorField}}, Ptr{CeedInt}, Ptr{Ptr{CeedOperatorField}}), op, num_input_fields, input_fields, num_output_fields, output_fields)
621443fcf8aSWill Paznerend
622443fcf8aSWill Pazner
623ec672a92SWill Paznerfunction CeedCompositeOperatorAddSub(composite_op, sub_op)
624ec672a92SWill Pazner    ccall((:CeedCompositeOperatorAddSub, libceed), Cint, (CeedOperator, CeedOperator), composite_op, sub_op)
625ec672a92SWill Paznerend
626ec672a92SWill Pazner
627*daadeac6SWill Paznerfunction CeedCompositeOperatorGetNumSub(op, num_suboperators)
628*daadeac6SWill Pazner    ccall((:CeedCompositeOperatorGetNumSub, libceed), Cint, (CeedOperator, Ptr{CeedInt}), op, num_suboperators)
629*daadeac6SWill Paznerend
630*daadeac6SWill Pazner
631*daadeac6SWill Paznerfunction CeedCompositeOperatorGetSubList(op, sub_operators)
632*daadeac6SWill Pazner    ccall((:CeedCompositeOperatorGetSubList, libceed), Cint, (CeedOperator, Ptr{Ptr{CeedOperator}}), op, sub_operators)
633*daadeac6SWill Paznerend
634*daadeac6SWill Pazner
635*daadeac6SWill Paznerfunction CeedOperatorCheckReady(op)
636*daadeac6SWill Pazner    ccall((:CeedOperatorCheckReady, libceed), Cint, (CeedOperator,), op)
637*daadeac6SWill Paznerend
638*daadeac6SWill Pazner
639*daadeac6SWill Paznerfunction CeedOperatorGetActiveVectorLengths(op, input_size, output_size)
640*daadeac6SWill Pazner    ccall((:CeedOperatorGetActiveVectorLengths, libceed), Cint, (CeedOperator, Ptr{CeedSize}, Ptr{CeedSize}), op, input_size, output_size)
641*daadeac6SWill Paznerend
642*daadeac6SWill Pazner
643*daadeac6SWill Paznerfunction CeedOperatorSetQFunctionAssemblyReuse(op, reuse_assembly_data)
644*daadeac6SWill Pazner    ccall((:CeedOperatorSetQFunctionAssemblyReuse, libceed), Cint, (CeedOperator, Bool), op, reuse_assembly_data)
645*daadeac6SWill Paznerend
646*daadeac6SWill Pazner
647*daadeac6SWill Paznerfunction CeedOperatorSetQFunctionAssemblyDataUpdateNeeded(op, needs_data_update)
648*daadeac6SWill Pazner    ccall((:CeedOperatorSetQFunctionAssemblyDataUpdateNeeded, libceed), Cint, (CeedOperator, Bool), op, needs_data_update)
649*daadeac6SWill Paznerend
650*daadeac6SWill Pazner
651ec672a92SWill Paznerfunction CeedOperatorLinearAssembleQFunction(op, assembled, rstr, request)
652ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleQFunction, libceed), Cint, (CeedOperator, Ptr{CeedVector}, Ptr{CeedElemRestriction}, Ptr{CeedRequest}), op, assembled, rstr, request)
653ec672a92SWill Paznerend
654ec672a92SWill Pazner
655*daadeac6SWill Paznerfunction CeedOperatorLinearAssembleQFunctionBuildOrUpdate(op, assembled, rstr, request)
656*daadeac6SWill Pazner    ccall((:CeedOperatorLinearAssembleQFunctionBuildOrUpdate, libceed), Cint, (CeedOperator, Ptr{CeedVector}, Ptr{CeedElemRestriction}, Ptr{CeedRequest}), op, assembled, rstr, request)
657*daadeac6SWill Paznerend
658*daadeac6SWill Pazner
659ec672a92SWill Paznerfunction CeedOperatorLinearAssembleDiagonal(op, assembled, request)
660ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleDiagonal, libceed), Cint, (CeedOperator, CeedVector, Ptr{CeedRequest}), op, assembled, request)
661ec672a92SWill Paznerend
662ec672a92SWill Pazner
663ec672a92SWill Paznerfunction CeedOperatorLinearAssembleAddDiagonal(op, assembled, request)
664ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleAddDiagonal, libceed), Cint, (CeedOperator, CeedVector, Ptr{CeedRequest}), op, assembled, request)
665ec672a92SWill Paznerend
666ec672a92SWill Pazner
667ec672a92SWill Paznerfunction CeedOperatorLinearAssemblePointBlockDiagonal(op, assembled, request)
668ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssemblePointBlockDiagonal, libceed), Cint, (CeedOperator, CeedVector, Ptr{CeedRequest}), op, assembled, request)
669ec672a92SWill Paznerend
670ec672a92SWill Pazner
671ec672a92SWill Paznerfunction CeedOperatorLinearAssembleAddPointBlockDiagonal(op, assembled, request)
672ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleAddPointBlockDiagonal, libceed), Cint, (CeedOperator, CeedVector, Ptr{CeedRequest}), op, assembled, request)
673ec672a92SWill Paznerend
674ec672a92SWill Pazner
675ec672a92SWill Paznerfunction CeedOperatorLinearAssembleSymbolic(op, num_entries, rows, cols)
676*daadeac6SWill Pazner    ccall((:CeedOperatorLinearAssembleSymbolic, libceed), Cint, (CeedOperator, Ptr{CeedSize}, Ptr{Ptr{CeedInt}}, Ptr{Ptr{CeedInt}}), op, num_entries, rows, cols)
677ec672a92SWill Paznerend
678ec672a92SWill Pazner
679ec672a92SWill Paznerfunction CeedOperatorLinearAssemble(op, values)
680ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssemble, libceed), Cint, (CeedOperator, CeedVector), op, values)
681ec672a92SWill Paznerend
682ec672a92SWill Pazner
683*daadeac6SWill Paznerfunction CeedCompositeOperatorGetMultiplicity(op, num_skip_indices, skip_indices, mult)
684*daadeac6SWill Pazner    ccall((:CeedCompositeOperatorGetMultiplicity, libceed), Cint, (CeedOperator, CeedInt, Ptr{CeedInt}, CeedVector), op, num_skip_indices, skip_indices, mult)
685*daadeac6SWill Paznerend
686*daadeac6SWill Pazner
687ec672a92SWill Paznerfunction CeedOperatorMultigridLevelCreate(op_fine, p_mult_fine, rstr_coarse, basis_coarse, op_coarse, op_prolong, op_restrict)
688ec672a92SWill Pazner    ccall((:CeedOperatorMultigridLevelCreate, libceed), Cint, (CeedOperator, CeedVector, CeedElemRestriction, CeedBasis, Ptr{CeedOperator}, Ptr{CeedOperator}, Ptr{CeedOperator}), op_fine, p_mult_fine, rstr_coarse, basis_coarse, op_coarse, op_prolong, op_restrict)
689ec672a92SWill Paznerend
690ec672a92SWill Pazner
691ec672a92SWill Paznerfunction CeedOperatorMultigridLevelCreateTensorH1(op_fine, p_mult_fine, rstr_coarse, basis_coarse, interp_c_to_f, op_coarse, op_prolong, op_restrict)
692ec672a92SWill Pazner    ccall((:CeedOperatorMultigridLevelCreateTensorH1, libceed), Cint, (CeedOperator, CeedVector, CeedElemRestriction, CeedBasis, Ptr{CeedScalar}, Ptr{CeedOperator}, Ptr{CeedOperator}, Ptr{CeedOperator}), op_fine, p_mult_fine, rstr_coarse, basis_coarse, interp_c_to_f, op_coarse, op_prolong, op_restrict)
693ec672a92SWill Paznerend
694ec672a92SWill Pazner
695ec672a92SWill Paznerfunction CeedOperatorMultigridLevelCreateH1(op_fine, p_mult_fine, rstr_coarse, basis_coarse, interp_c_to_f, op_coarse, op_prolong, op_restrict)
696ec672a92SWill Pazner    ccall((:CeedOperatorMultigridLevelCreateH1, libceed), Cint, (CeedOperator, CeedVector, CeedElemRestriction, CeedBasis, Ptr{CeedScalar}, Ptr{CeedOperator}, Ptr{CeedOperator}, Ptr{CeedOperator}), op_fine, p_mult_fine, rstr_coarse, basis_coarse, interp_c_to_f, op_coarse, op_prolong, op_restrict)
697ec672a92SWill Paznerend
698ec672a92SWill Pazner
699ec672a92SWill Paznerfunction CeedOperatorCreateFDMElementInverse(op, fdm_inv, request)
700ec672a92SWill Pazner    ccall((:CeedOperatorCreateFDMElementInverse, libceed), Cint, (CeedOperator, Ptr{CeedOperator}, Ptr{CeedRequest}), op, fdm_inv, request)
701ec672a92SWill Paznerend
702ec672a92SWill Pazner
703ec672a92SWill Paznerfunction CeedOperatorSetNumQuadraturePoints(op, num_qpts)
704ec672a92SWill Pazner    ccall((:CeedOperatorSetNumQuadraturePoints, libceed), Cint, (CeedOperator, CeedInt), op, num_qpts)
705ec672a92SWill Paznerend
706ec672a92SWill Pazner
707*daadeac6SWill Paznerfunction CeedOperatorSetName(op, name)
708*daadeac6SWill Pazner    ccall((:CeedOperatorSetName, libceed), Cint, (CeedOperator, Ptr{Cchar}), op, name)
709*daadeac6SWill Paznerend
710*daadeac6SWill Pazner
711ec672a92SWill Paznerfunction CeedOperatorView(op, stream)
712ec672a92SWill Pazner    ccall((:CeedOperatorView, libceed), Cint, (CeedOperator, Ptr{Libc.FILE}), op, stream)
713ec672a92SWill Paznerend
714ec672a92SWill Pazner
715*daadeac6SWill Paznerfunction CeedOperatorGetCeed(op, ceed)
716*daadeac6SWill Pazner    ccall((:CeedOperatorGetCeed, libceed), Cint, (CeedOperator, Ptr{Ceed}), op, ceed)
717*daadeac6SWill Paznerend
718*daadeac6SWill Pazner
719*daadeac6SWill Paznerfunction CeedOperatorGetNumElements(op, num_elem)
720*daadeac6SWill Pazner    ccall((:CeedOperatorGetNumElements, libceed), Cint, (CeedOperator, Ptr{CeedInt}), op, num_elem)
721*daadeac6SWill Paznerend
722*daadeac6SWill Pazner
723*daadeac6SWill Paznerfunction CeedOperatorGetNumQuadraturePoints(op, num_qpts)
724*daadeac6SWill Pazner    ccall((:CeedOperatorGetNumQuadraturePoints, libceed), Cint, (CeedOperator, Ptr{CeedInt}), op, num_qpts)
725*daadeac6SWill Paznerend
726*daadeac6SWill Pazner
727*daadeac6SWill Paznerfunction CeedOperatorGetFlopsEstimate(op, flops)
728*daadeac6SWill Pazner    ccall((:CeedOperatorGetFlopsEstimate, libceed), Cint, (CeedOperator, Ptr{CeedSize}), op, flops)
729*daadeac6SWill Paznerend
730*daadeac6SWill Pazner
731*daadeac6SWill Paznerfunction CeedOperatorContextGetFieldLabel(op, field_name, field_label)
732*daadeac6SWill Pazner    ccall((:CeedOperatorContextGetFieldLabel, libceed), Cint, (CeedOperator, Ptr{Cchar}, Ptr{CeedContextFieldLabel}), op, field_name, field_label)
733*daadeac6SWill Paznerend
734*daadeac6SWill Pazner
735*daadeac6SWill Paznerfunction CeedOperatorContextSetDouble(op, field_label, values)
736*daadeac6SWill Pazner    ccall((:CeedOperatorContextSetDouble, libceed), Cint, (CeedOperator, CeedContextFieldLabel, Ptr{Cdouble}), op, field_label, values)
737*daadeac6SWill Paznerend
738*daadeac6SWill Pazner
739*daadeac6SWill Paznerfunction CeedOperatorContextSetInt32(op, field_label, values)
740*daadeac6SWill Pazner    ccall((:CeedOperatorContextSetInt32, libceed), Cint, (CeedOperator, CeedContextFieldLabel, Ptr{Cint}), op, field_label, values)
741*daadeac6SWill Paznerend
742*daadeac6SWill Pazner
743ec672a92SWill Paznerfunction CeedOperatorApply(op, in, out, request)
744ec672a92SWill Pazner    ccall((:CeedOperatorApply, libceed), Cint, (CeedOperator, CeedVector, CeedVector, Ptr{CeedRequest}), op, in, out, request)
745ec672a92SWill Paznerend
746ec672a92SWill Pazner
747ec672a92SWill Paznerfunction CeedOperatorApplyAdd(op, in, out, request)
748ec672a92SWill Pazner    ccall((:CeedOperatorApplyAdd, libceed), Cint, (CeedOperator, CeedVector, CeedVector, Ptr{CeedRequest}), op, in, out, request)
749ec672a92SWill Paznerend
750ec672a92SWill Pazner
751ec672a92SWill Paznerfunction CeedOperatorDestroy(op)
752ec672a92SWill Pazner    ccall((:CeedOperatorDestroy, libceed), Cint, (Ptr{CeedOperator},), op)
753ec672a92SWill Paznerend
754ec672a92SWill Pazner
755443fcf8aSWill Paznerfunction CeedOperatorFieldGetName(op_field, field_name)
756443fcf8aSWill Pazner    ccall((:CeedOperatorFieldGetName, libceed), Cint, (CeedOperatorField, Ptr{Ptr{Cchar}}), op_field, field_name)
757443fcf8aSWill Paznerend
758443fcf8aSWill Pazner
759443fcf8aSWill Paznerfunction CeedOperatorFieldGetElemRestriction(op_field, rstr)
760443fcf8aSWill Pazner    ccall((:CeedOperatorFieldGetElemRestriction, libceed), Cint, (CeedOperatorField, Ptr{CeedElemRestriction}), op_field, rstr)
761443fcf8aSWill Paznerend
762443fcf8aSWill Pazner
763443fcf8aSWill Paznerfunction CeedOperatorFieldGetBasis(op_field, basis)
764443fcf8aSWill Pazner    ccall((:CeedOperatorFieldGetBasis, libceed), Cint, (CeedOperatorField, Ptr{CeedBasis}), op_field, basis)
765443fcf8aSWill Paznerend
766443fcf8aSWill Pazner
767443fcf8aSWill Paznerfunction CeedOperatorFieldGetVector(op_field, vec)
768443fcf8aSWill Pazner    ccall((:CeedOperatorFieldGetVector, libceed), Cint, (CeedOperatorField, Ptr{CeedVector}), op_field, vec)
769443fcf8aSWill Paznerend
770443fcf8aSWill Pazner
771ec672a92SWill Paznerfunction CeedIntPow(base, power)
772ec672a92SWill Pazner    ccall((:CeedIntPow, libceed), CeedInt, (CeedInt, CeedInt), base, power)
773ec672a92SWill Paznerend
774ec672a92SWill Pazner
775ec672a92SWill Paznerfunction CeedIntMin(a, b)
776ec672a92SWill Pazner    ccall((:CeedIntMin, libceed), CeedInt, (CeedInt, CeedInt), a, b)
777ec672a92SWill Paznerend
778ec672a92SWill Pazner
779ec672a92SWill Paznerfunction CeedIntMax(a, b)
780ec672a92SWill Pazner    ccall((:CeedIntMax, libceed), CeedInt, (CeedInt, CeedInt), a, b)
781ec672a92SWill Paznerend
782ec672a92SWill Pazner
783ec672a92SWill Paznerfunction CeedRegisterAll()
784ec672a92SWill Pazner    ccall((:CeedRegisterAll, libceed), Cint, ())
785ec672a92SWill Paznerend
786ec672a92SWill Pazner
787ec672a92SWill Paznerfunction CeedQFunctionRegisterAll()
788ec672a92SWill Pazner    ccall((:CeedQFunctionRegisterAll, libceed), Cint, ())
789ec672a92SWill Paznerend
790ec672a92SWill Pazner
791ec672a92SWill Paznerfunction CeedQFunctionSetCUDAUserFunction(qf, f)
792ec672a92SWill Pazner    ccall((:CeedQFunctionSetCUDAUserFunction, libceed), Cint, (CeedQFunction, Cint), qf, f)
793ec672a92SWill Paznerend
794ec672a92SWill Pazner
795*daadeac6SWill Paznerfunction CeedDebugFlag(ceed)
796*daadeac6SWill Pazner    ccall((:CeedDebugFlag, libceed), Bool, (Ceed,), ceed)
797ec672a92SWill Paznerend
798ec672a92SWill Pazner
799*daadeac6SWill Paznerfunction CeedDebugFlagEnv()
800*daadeac6SWill Pazner    ccall((:CeedDebugFlagEnv, libceed), Bool, ())
801ec672a92SWill Paznerend
802ec672a92SWill Pazner
803ec672a92SWill Paznerfunction CeedMallocArray(n, unit, p)
804ec672a92SWill Pazner    ccall((:CeedMallocArray, libceed), Cint, (Csize_t, Csize_t, Ptr{Cvoid}), n, unit, p)
805ec672a92SWill Paznerend
806ec672a92SWill Pazner
807ec672a92SWill Paznerfunction CeedCallocArray(n, unit, p)
808ec672a92SWill Pazner    ccall((:CeedCallocArray, libceed), Cint, (Csize_t, Csize_t, Ptr{Cvoid}), n, unit, p)
809ec672a92SWill Paznerend
810ec672a92SWill Pazner
811ec672a92SWill Paznerfunction CeedReallocArray(n, unit, p)
812ec672a92SWill Pazner    ccall((:CeedReallocArray, libceed), Cint, (Csize_t, Csize_t, Ptr{Cvoid}), n, unit, p)
813ec672a92SWill Paznerend
814ec672a92SWill Pazner
815*daadeac6SWill Paznermutable struct CeedTensorContract_private end
816*daadeac6SWill Pazner
817*daadeac6SWill Paznerconst CeedTensorContract = Ptr{CeedTensorContract_private}
818*daadeac6SWill Pazner
819*daadeac6SWill Paznermutable struct CeedQFunctionAssemblyData_private end
820*daadeac6SWill Pazner
821*daadeac6SWill Paznerconst CeedQFunctionAssemblyData = Ptr{CeedQFunctionAssemblyData_private}
822*daadeac6SWill Pazner
823*daadeac6SWill Paznermutable struct CeedOperatorAssemblyData_private end
824*daadeac6SWill Pazner
825*daadeac6SWill Paznerconst CeedOperatorAssemblyData = Ptr{CeedOperatorAssemblyData_private}
826*daadeac6SWill Pazner
827*daadeac6SWill Paznerfunction CeedStringAllocCopy(source, copy)
828*daadeac6SWill Pazner    ccall((:CeedStringAllocCopy, libceed), Cint, (Ptr{Cchar}, Ptr{Ptr{Cchar}}), source, copy)
829*daadeac6SWill Paznerend
830*daadeac6SWill Pazner
831ec672a92SWill Paznerfunction CeedFree(p)
832ec672a92SWill Pazner    ccall((:CeedFree, libceed), Cint, (Ptr{Cvoid},), p)
833ec672a92SWill Paznerend
834ec672a92SWill Pazner
835ec672a92SWill Paznerfunction CeedRegister(prefix, init, priority)
836ec672a92SWill Pazner    ccall((:CeedRegister, libceed), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Cuint), prefix, init, priority)
837ec672a92SWill Paznerend
838ec672a92SWill Pazner
839*daadeac6SWill Paznerfunction CeedRegisterImpl(prefix, init, priority)
840*daadeac6SWill Pazner    ccall((:CeedRegisterImpl, libceed), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Cuint), prefix, init, priority)
841*daadeac6SWill Paznerend
842*daadeac6SWill Pazner
843ec672a92SWill Paznerfunction CeedIsDebug(ceed, is_debug)
844ec672a92SWill Pazner    ccall((:CeedIsDebug, libceed), Cint, (Ceed, Ptr{Bool}), ceed, is_debug)
845ec672a92SWill Paznerend
846ec672a92SWill Pazner
847ec672a92SWill Paznerfunction CeedGetParent(ceed, parent)
848ec672a92SWill Pazner    ccall((:CeedGetParent, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, parent)
849ec672a92SWill Paznerend
850ec672a92SWill Pazner
851ec672a92SWill Paznerfunction CeedGetDelegate(ceed, delegate)
852ec672a92SWill Pazner    ccall((:CeedGetDelegate, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, delegate)
853ec672a92SWill Paznerend
854ec672a92SWill Pazner
855ec672a92SWill Paznerfunction CeedSetDelegate(ceed, delegate)
856ec672a92SWill Pazner    ccall((:CeedSetDelegate, libceed), Cint, (Ceed, Ceed), ceed, delegate)
857ec672a92SWill Paznerend
858ec672a92SWill Pazner
859ec672a92SWill Paznerfunction CeedGetObjectDelegate(ceed, delegate, obj_name)
860ec672a92SWill Pazner    ccall((:CeedGetObjectDelegate, libceed), Cint, (Ceed, Ptr{Ceed}, Ptr{Cchar}), ceed, delegate, obj_name)
861ec672a92SWill Paznerend
862ec672a92SWill Pazner
863ec672a92SWill Paznerfunction CeedSetObjectDelegate(ceed, delegate, obj_name)
864ec672a92SWill Pazner    ccall((:CeedSetObjectDelegate, libceed), Cint, (Ceed, Ceed, Ptr{Cchar}), ceed, delegate, obj_name)
865ec672a92SWill Paznerend
866ec672a92SWill Pazner
867ec672a92SWill Paznerfunction CeedGetOperatorFallbackResource(ceed, resource)
868ec672a92SWill Pazner    ccall((:CeedGetOperatorFallbackResource, libceed), Cint, (Ceed, Ptr{Ptr{Cchar}}), ceed, resource)
869ec672a92SWill Paznerend
870ec672a92SWill Pazner
871*daadeac6SWill Paznerfunction CeedGetOperatorFallbackCeed(ceed, fallback_ceed)
872*daadeac6SWill Pazner    ccall((:CeedGetOperatorFallbackCeed, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, fallback_ceed)
873*daadeac6SWill Paznerend
874*daadeac6SWill Pazner
875ec672a92SWill Paznerfunction CeedSetOperatorFallbackResource(ceed, resource)
876ec672a92SWill Pazner    ccall((:CeedSetOperatorFallbackResource, libceed), Cint, (Ceed, Ptr{Cchar}), ceed, resource)
877ec672a92SWill Paznerend
878ec672a92SWill Pazner
879ec672a92SWill Paznerfunction CeedGetOperatorFallbackParentCeed(ceed, parent)
880ec672a92SWill Pazner    ccall((:CeedGetOperatorFallbackParentCeed, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, parent)
881ec672a92SWill Paznerend
882ec672a92SWill Pazner
883ec672a92SWill Paznerfunction CeedSetDeterministic(ceed, is_deterministic)
884ec672a92SWill Pazner    ccall((:CeedSetDeterministic, libceed), Cint, (Ceed, Bool), ceed, is_deterministic)
885ec672a92SWill Paznerend
886ec672a92SWill Pazner
887ec672a92SWill Paznerfunction CeedSetBackendFunction(ceed, type, object, func_name, f)
888ec672a92SWill Pazner    ccall((:CeedSetBackendFunction, libceed), Cint, (Ceed, Ptr{Cchar}, Ptr{Cvoid}, Ptr{Cchar}, Ptr{Cvoid}), ceed, type, object, func_name, f)
889ec672a92SWill Paznerend
890ec672a92SWill Pazner
891ec672a92SWill Paznerfunction CeedGetData(ceed, data)
892ec672a92SWill Pazner    ccall((:CeedGetData, libceed), Cint, (Ceed, Ptr{Cvoid}), ceed, data)
893ec672a92SWill Paznerend
894ec672a92SWill Pazner
895ec672a92SWill Paznerfunction CeedSetData(ceed, data)
896ec672a92SWill Pazner    ccall((:CeedSetData, libceed), Cint, (Ceed, Ptr{Cvoid}), ceed, data)
897ec672a92SWill Paznerend
898ec672a92SWill Pazner
899ec672a92SWill Paznerfunction CeedReference(ceed)
900ec672a92SWill Pazner    ccall((:CeedReference, libceed), Cint, (Ceed,), ceed)
901ec672a92SWill Paznerend
902ec672a92SWill Pazner
903*daadeac6SWill Paznerfunction CeedVectorHasValidArray(vec, has_valid_array)
904*daadeac6SWill Pazner    ccall((:CeedVectorHasValidArray, libceed), Cint, (CeedVector, Ptr{Bool}), vec, has_valid_array)
905*daadeac6SWill Paznerend
906*daadeac6SWill Pazner
907*daadeac6SWill Paznerfunction CeedVectorHasBorrowedArrayOfType(vec, mem_type, has_borrowed_array_of_type)
908*daadeac6SWill Pazner    ccall((:CeedVectorHasBorrowedArrayOfType, libceed), Cint, (CeedVector, CeedMemType, Ptr{Bool}), vec, mem_type, has_borrowed_array_of_type)
909ec672a92SWill Paznerend
910ec672a92SWill Pazner
911ec672a92SWill Paznerfunction CeedVectorGetState(vec, state)
912ec672a92SWill Pazner    ccall((:CeedVectorGetState, libceed), Cint, (CeedVector, Ptr{UInt64}), vec, state)
913ec672a92SWill Paznerend
914ec672a92SWill Pazner
915ec672a92SWill Paznerfunction CeedVectorAddReference(vec)
916ec672a92SWill Pazner    ccall((:CeedVectorAddReference, libceed), Cint, (CeedVector,), vec)
917ec672a92SWill Paznerend
918ec672a92SWill Pazner
919ec672a92SWill Paznerfunction CeedVectorGetData(vec, data)
920ec672a92SWill Pazner    ccall((:CeedVectorGetData, libceed), Cint, (CeedVector, Ptr{Cvoid}), vec, data)
921ec672a92SWill Paznerend
922ec672a92SWill Pazner
923ec672a92SWill Paznerfunction CeedVectorSetData(vec, data)
924ec672a92SWill Pazner    ccall((:CeedVectorSetData, libceed), Cint, (CeedVector, Ptr{Cvoid}), vec, data)
925ec672a92SWill Paznerend
926ec672a92SWill Pazner
927ec672a92SWill Paznerfunction CeedVectorReference(vec)
928ec672a92SWill Pazner    ccall((:CeedVectorReference, libceed), Cint, (CeedVector,), vec)
929ec672a92SWill Paznerend
930ec672a92SWill Pazner
931ec672a92SWill Paznerfunction CeedElemRestrictionGetStrides(rstr, strides)
932ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetStrides, libceed), Cint, (CeedElemRestriction, Ptr{NTuple{3, CeedInt}}), rstr, strides)
933ec672a92SWill Paznerend
934ec672a92SWill Pazner
935ec672a92SWill Paznerfunction CeedElemRestrictionGetOffsets(rstr, mem_type, offsets)
936ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetOffsets, libceed), Cint, (CeedElemRestriction, CeedMemType, Ptr{Ptr{CeedInt}}), rstr, mem_type, offsets)
937ec672a92SWill Paznerend
938ec672a92SWill Pazner
939ec672a92SWill Paznerfunction CeedElemRestrictionRestoreOffsets(rstr, offsets)
940ec672a92SWill Pazner    ccall((:CeedElemRestrictionRestoreOffsets, libceed), Cint, (CeedElemRestriction, Ptr{Ptr{CeedInt}}), rstr, offsets)
941ec672a92SWill Paznerend
942ec672a92SWill Pazner
943ec672a92SWill Paznerfunction CeedElemRestrictionIsStrided(rstr, is_strided)
944ec672a92SWill Pazner    ccall((:CeedElemRestrictionIsStrided, libceed), Cint, (CeedElemRestriction, Ptr{Bool}), rstr, is_strided)
945ec672a92SWill Paznerend
946ec672a92SWill Pazner
947*daadeac6SWill Paznerfunction CeedElemRestrictionIsOriented(rstr, is_oriented)
948*daadeac6SWill Pazner    ccall((:CeedElemRestrictionIsOriented, libceed), Cint, (CeedElemRestriction, Ptr{Bool}), rstr, is_oriented)
949*daadeac6SWill Paznerend
950*daadeac6SWill Pazner
951ec672a92SWill Paznerfunction CeedElemRestrictionHasBackendStrides(rstr, has_backend_strides)
952ec672a92SWill Pazner    ccall((:CeedElemRestrictionHasBackendStrides, libceed), Cint, (CeedElemRestriction, Ptr{Bool}), rstr, has_backend_strides)
953ec672a92SWill Paznerend
954ec672a92SWill Pazner
955ec672a92SWill Paznerfunction CeedElemRestrictionGetELayout(rstr, layout)
956ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetELayout, libceed), Cint, (CeedElemRestriction, Ptr{NTuple{3, CeedInt}}), rstr, layout)
957ec672a92SWill Paznerend
958ec672a92SWill Pazner
959ec672a92SWill Paznerfunction CeedElemRestrictionSetELayout(rstr, layout)
960ec672a92SWill Pazner    ccall((:CeedElemRestrictionSetELayout, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, layout)
961ec672a92SWill Paznerend
962ec672a92SWill Pazner
963ec672a92SWill Paznerfunction CeedElemRestrictionGetData(rstr, data)
964ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetData, libceed), Cint, (CeedElemRestriction, Ptr{Cvoid}), rstr, data)
965ec672a92SWill Paznerend
966ec672a92SWill Pazner
967ec672a92SWill Paznerfunction CeedElemRestrictionSetData(rstr, data)
968ec672a92SWill Pazner    ccall((:CeedElemRestrictionSetData, libceed), Cint, (CeedElemRestriction, Ptr{Cvoid}), rstr, data)
969ec672a92SWill Paznerend
970ec672a92SWill Pazner
971ec672a92SWill Paznerfunction CeedElemRestrictionReference(rstr)
972ec672a92SWill Pazner    ccall((:CeedElemRestrictionReference, libceed), Cint, (CeedElemRestriction,), rstr)
973ec672a92SWill Paznerend
974ec672a92SWill Pazner
975*daadeac6SWill Paznerfunction CeedElemRestrictionGetFlopsEstimate(rstr, t_mode, flops)
976*daadeac6SWill Pazner    ccall((:CeedElemRestrictionGetFlopsEstimate, libceed), Cint, (CeedElemRestriction, CeedTransposeMode, Ptr{CeedSize}), rstr, t_mode, flops)
977*daadeac6SWill Paznerend
978*daadeac6SWill Pazner
979*daadeac6SWill Pazner@cenum CeedFESpace::UInt32 begin
980*daadeac6SWill Pazner    CEED_FE_SPACE_H1 = 1
981*daadeac6SWill Pazner    CEED_FE_SPACE_HDIV = 2
982*daadeac6SWill Paznerend
983*daadeac6SWill Pazner
984ec672a92SWill Paznerfunction CeedBasisGetCollocatedGrad(basis, colo_grad_1d)
985ec672a92SWill Pazner    ccall((:CeedBasisGetCollocatedGrad, libceed), Cint, (CeedBasis, Ptr{CeedScalar}), basis, colo_grad_1d)
986ec672a92SWill Paznerend
987ec672a92SWill Pazner
988ec672a92SWill Paznerfunction CeedHouseholderApplyQ(A, Q, tau, t_mode, m, n, k, row, col)
989ec672a92SWill Pazner    ccall((:CeedHouseholderApplyQ, libceed), Cint, (Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedTransposeMode, CeedInt, CeedInt, CeedInt, CeedInt, CeedInt), A, Q, tau, t_mode, m, n, k, row, col)
990ec672a92SWill Paznerend
991ec672a92SWill Pazner
992ec672a92SWill Paznerfunction CeedBasisIsTensor(basis, is_tensor)
993ec672a92SWill Pazner    ccall((:CeedBasisIsTensor, libceed), Cint, (CeedBasis, Ptr{Bool}), basis, is_tensor)
994ec672a92SWill Paznerend
995ec672a92SWill Pazner
996ec672a92SWill Paznerfunction CeedBasisGetData(basis, data)
997ec672a92SWill Pazner    ccall((:CeedBasisGetData, libceed), Cint, (CeedBasis, Ptr{Cvoid}), basis, data)
998ec672a92SWill Paznerend
999ec672a92SWill Pazner
1000ec672a92SWill Paznerfunction CeedBasisSetData(basis, data)
1001ec672a92SWill Pazner    ccall((:CeedBasisSetData, libceed), Cint, (CeedBasis, Ptr{Cvoid}), basis, data)
1002ec672a92SWill Paznerend
1003ec672a92SWill Pazner
1004ec672a92SWill Paznerfunction CeedBasisReference(basis)
1005ec672a92SWill Pazner    ccall((:CeedBasisReference, libceed), Cint, (CeedBasis,), basis)
1006ec672a92SWill Paznerend
1007ec672a92SWill Pazner
1008*daadeac6SWill Paznerfunction CeedBasisGetFlopsEstimate(basis, t_mode, eval_mode, flops)
1009*daadeac6SWill Pazner    ccall((:CeedBasisGetFlopsEstimate, libceed), Cint, (CeedBasis, CeedTransposeMode, CeedEvalMode, Ptr{CeedSize}), basis, t_mode, eval_mode, flops)
1010*daadeac6SWill Paznerend
1011*daadeac6SWill Pazner
1012ec672a92SWill Paznerfunction CeedBasisGetTopologyDimension(topo, dim)
1013ec672a92SWill Pazner    ccall((:CeedBasisGetTopologyDimension, libceed), Cint, (CeedElemTopology, Ptr{CeedInt}), topo, dim)
1014ec672a92SWill Paznerend
1015ec672a92SWill Pazner
1016ec672a92SWill Paznerfunction CeedBasisGetTensorContract(basis, contract)
1017ec672a92SWill Pazner    ccall((:CeedBasisGetTensorContract, libceed), Cint, (CeedBasis, Ptr{CeedTensorContract}), basis, contract)
1018ec672a92SWill Paznerend
1019ec672a92SWill Pazner
1020ec672a92SWill Paznerfunction CeedBasisSetTensorContract(basis, contract)
1021ec672a92SWill Pazner    ccall((:CeedBasisSetTensorContract, libceed), Cint, (CeedBasis, CeedTensorContract), basis, contract)
1022ec672a92SWill Paznerend
1023ec672a92SWill Pazner
1024ec672a92SWill Paznerfunction CeedTensorContractCreate(ceed, basis, contract)
1025ec672a92SWill Pazner    ccall((:CeedTensorContractCreate, libceed), Cint, (Ceed, CeedBasis, Ptr{CeedTensorContract}), ceed, basis, contract)
1026ec672a92SWill Paznerend
1027ec672a92SWill Pazner
1028ec672a92SWill Paznerfunction CeedTensorContractApply(contract, A, B, C, J, t, t_mode, Add, u, v)
1029ec672a92SWill Pazner    ccall((:CeedTensorContractApply, libceed), Cint, (CeedTensorContract, CeedInt, CeedInt, CeedInt, CeedInt, Ptr{CeedScalar}, CeedTransposeMode, CeedInt, Ptr{CeedScalar}, Ptr{CeedScalar}), contract, A, B, C, J, t, t_mode, Add, u, v)
1030ec672a92SWill Paznerend
1031ec672a92SWill Pazner
1032ec672a92SWill Paznerfunction CeedTensorContractGetCeed(contract, ceed)
1033ec672a92SWill Pazner    ccall((:CeedTensorContractGetCeed, libceed), Cint, (CeedTensorContract, Ptr{Ceed}), contract, ceed)
1034ec672a92SWill Paznerend
1035ec672a92SWill Pazner
1036ec672a92SWill Paznerfunction CeedTensorContractGetData(contract, data)
1037ec672a92SWill Pazner    ccall((:CeedTensorContractGetData, libceed), Cint, (CeedTensorContract, Ptr{Cvoid}), contract, data)
1038ec672a92SWill Paznerend
1039ec672a92SWill Pazner
1040ec672a92SWill Paznerfunction CeedTensorContractSetData(contract, data)
1041ec672a92SWill Pazner    ccall((:CeedTensorContractSetData, libceed), Cint, (CeedTensorContract, Ptr{Cvoid}), contract, data)
1042ec672a92SWill Paznerend
1043ec672a92SWill Pazner
1044ec672a92SWill Paznerfunction CeedTensorContractReference(contract)
1045ec672a92SWill Pazner    ccall((:CeedTensorContractReference, libceed), Cint, (CeedTensorContract,), contract)
1046ec672a92SWill Paznerend
1047ec672a92SWill Pazner
1048ec672a92SWill Paznerfunction CeedTensorContractDestroy(contract)
1049ec672a92SWill Pazner    ccall((:CeedTensorContractDestroy, libceed), Cint, (Ptr{CeedTensorContract},), contract)
1050ec672a92SWill Paznerend
1051ec672a92SWill Pazner
1052ec672a92SWill Paznerfunction CeedQFunctionRegister(arg1, arg2, arg3, arg4, init)
1053ec672a92SWill Pazner    ccall((:CeedQFunctionRegister, libceed), Cint, (Ptr{Cchar}, Ptr{Cchar}, CeedInt, CeedQFunctionUser, Ptr{Cvoid}), arg1, arg2, arg3, arg4, init)
1054ec672a92SWill Paznerend
1055ec672a92SWill Pazner
1056ec672a92SWill Paznerfunction CeedQFunctionSetFortranStatus(qf, status)
1057ec672a92SWill Pazner    ccall((:CeedQFunctionSetFortranStatus, libceed), Cint, (CeedQFunction, Bool), qf, status)
1058ec672a92SWill Paznerend
1059ec672a92SWill Pazner
1060ec672a92SWill Paznerfunction CeedQFunctionGetVectorLength(qf, vec_length)
1061ec672a92SWill Pazner    ccall((:CeedQFunctionGetVectorLength, libceed), Cint, (CeedQFunction, Ptr{CeedInt}), qf, vec_length)
1062ec672a92SWill Paznerend
1063ec672a92SWill Pazner
1064ec672a92SWill Paznerfunction CeedQFunctionGetNumArgs(qf, num_input_fields, num_output_fields)
1065ec672a92SWill Pazner    ccall((:CeedQFunctionGetNumArgs, libceed), Cint, (CeedQFunction, Ptr{CeedInt}, Ptr{CeedInt}), qf, num_input_fields, num_output_fields)
1066ec672a92SWill Paznerend
1067ec672a92SWill Pazner
1068*daadeac6SWill Paznerfunction CeedQFunctionGetKernelName(qf, kernel_name)
1069*daadeac6SWill Pazner    ccall((:CeedQFunctionGetKernelName, libceed), Cint, (CeedQFunction, Ptr{Ptr{Cchar}}), qf, kernel_name)
1070*daadeac6SWill Paznerend
1071*daadeac6SWill Pazner
1072*daadeac6SWill Paznerfunction CeedQFunctionGetSourcePath(qf, source_path)
1073*daadeac6SWill Pazner    ccall((:CeedQFunctionGetSourcePath, libceed), Cint, (CeedQFunction, Ptr{Ptr{Cchar}}), qf, source_path)
1074*daadeac6SWill Paznerend
1075*daadeac6SWill Pazner
1076*daadeac6SWill Paznerfunction CeedQFunctionLoadSourceToBuffer(qf, source_buffer)
1077*daadeac6SWill Pazner    ccall((:CeedQFunctionLoadSourceToBuffer, libceed), Cint, (CeedQFunction, Ptr{Ptr{Cchar}}), qf, source_buffer)
1078ec672a92SWill Paznerend
1079ec672a92SWill Pazner
1080ec672a92SWill Paznerfunction CeedQFunctionGetUserFunction(qf, f)
1081ec672a92SWill Pazner    ccall((:CeedQFunctionGetUserFunction, libceed), Cint, (CeedQFunction, Ptr{CeedQFunctionUser}), qf, f)
1082ec672a92SWill Paznerend
1083ec672a92SWill Pazner
1084ec672a92SWill Paznerfunction CeedQFunctionGetContext(qf, ctx)
1085ec672a92SWill Pazner    ccall((:CeedQFunctionGetContext, libceed), Cint, (CeedQFunction, Ptr{CeedQFunctionContext}), qf, ctx)
1086ec672a92SWill Paznerend
1087ec672a92SWill Pazner
1088*daadeac6SWill Paznerfunction CeedQFunctionGetContextData(qf, mem_type, data)
1089*daadeac6SWill Pazner    ccall((:CeedQFunctionGetContextData, libceed), Cint, (CeedQFunction, CeedMemType, Ptr{Cvoid}), qf, mem_type, data)
1090*daadeac6SWill Paznerend
1091*daadeac6SWill Pazner
1092*daadeac6SWill Paznerfunction CeedQFunctionRestoreContextData(qf, data)
1093*daadeac6SWill Pazner    ccall((:CeedQFunctionRestoreContextData, libceed), Cint, (CeedQFunction, Ptr{Cvoid}), qf, data)
1094*daadeac6SWill Paznerend
1095*daadeac6SWill Pazner
1096ec672a92SWill Paznerfunction CeedQFunctionGetInnerContext(qf, ctx)
1097ec672a92SWill Pazner    ccall((:CeedQFunctionGetInnerContext, libceed), Cint, (CeedQFunction, Ptr{CeedQFunctionContext}), qf, ctx)
1098ec672a92SWill Paznerend
1099ec672a92SWill Pazner
1100*daadeac6SWill Paznerfunction CeedQFunctionGetInnerContextData(qf, mem_type, data)
1101*daadeac6SWill Pazner    ccall((:CeedQFunctionGetInnerContextData, libceed), Cint, (CeedQFunction, CeedMemType, Ptr{Cvoid}), qf, mem_type, data)
1102*daadeac6SWill Paznerend
1103*daadeac6SWill Pazner
1104*daadeac6SWill Paznerfunction CeedQFunctionRestoreInnerContextData(qf, data)
1105*daadeac6SWill Pazner    ccall((:CeedQFunctionRestoreInnerContextData, libceed), Cint, (CeedQFunction, Ptr{Cvoid}), qf, data)
1106*daadeac6SWill Paznerend
1107*daadeac6SWill Pazner
1108ec672a92SWill Paznerfunction CeedQFunctionIsIdentity(qf, is_identity)
1109ec672a92SWill Pazner    ccall((:CeedQFunctionIsIdentity, libceed), Cint, (CeedQFunction, Ptr{Bool}), qf, is_identity)
1110ec672a92SWill Paznerend
1111ec672a92SWill Pazner
1112*daadeac6SWill Paznerfunction CeedQFunctionIsContextWritable(qf, is_writable)
1113*daadeac6SWill Pazner    ccall((:CeedQFunctionIsContextWritable, libceed), Cint, (CeedQFunction, Ptr{Bool}), qf, is_writable)
1114*daadeac6SWill Paznerend
1115*daadeac6SWill Pazner
1116ec672a92SWill Paznerfunction CeedQFunctionGetData(qf, data)
1117ec672a92SWill Pazner    ccall((:CeedQFunctionGetData, libceed), Cint, (CeedQFunction, Ptr{Cvoid}), qf, data)
1118ec672a92SWill Paznerend
1119ec672a92SWill Pazner
1120ec672a92SWill Paznerfunction CeedQFunctionSetData(qf, data)
1121ec672a92SWill Pazner    ccall((:CeedQFunctionSetData, libceed), Cint, (CeedQFunction, Ptr{Cvoid}), qf, data)
1122ec672a92SWill Paznerend
1123ec672a92SWill Pazner
1124ec672a92SWill Paznerfunction CeedQFunctionReference(qf)
1125ec672a92SWill Pazner    ccall((:CeedQFunctionReference, libceed), Cint, (CeedQFunction,), qf)
1126ec672a92SWill Paznerend
1127ec672a92SWill Pazner
1128*daadeac6SWill Paznerfunction CeedQFunctionGetFlopsEstimate(qf, flops)
1129*daadeac6SWill Pazner    ccall((:CeedQFunctionGetFlopsEstimate, libceed), Cint, (CeedQFunction, Ptr{CeedSize}), qf, flops)
1130*daadeac6SWill Paznerend
1131*daadeac6SWill Pazner
1132*daadeac6SWill Paznerfunction CeedQFunctionContextGetCeed(ctx, ceed)
1133*daadeac6SWill Pazner    ccall((:CeedQFunctionContextGetCeed, libceed), Cint, (CeedQFunctionContext, Ptr{Ceed}), ctx, ceed)
1134*daadeac6SWill Paznerend
1135*daadeac6SWill Pazner
1136*daadeac6SWill Paznerfunction CeedQFunctionContextHasValidData(ctx, has_valid_data)
1137*daadeac6SWill Pazner    ccall((:CeedQFunctionContextHasValidData, libceed), Cint, (CeedQFunctionContext, Ptr{Bool}), ctx, has_valid_data)
1138*daadeac6SWill Paznerend
1139*daadeac6SWill Pazner
1140*daadeac6SWill Paznerfunction CeedQFunctionContextHasBorrowedDataOfType(ctx, mem_type, has_borrowed_data_of_type)
1141*daadeac6SWill Pazner    ccall((:CeedQFunctionContextHasBorrowedDataOfType, libceed), Cint, (CeedQFunctionContext, CeedMemType, Ptr{Bool}), ctx, mem_type, has_borrowed_data_of_type)
1142ec672a92SWill Paznerend
1143ec672a92SWill Pazner
1144ec672a92SWill Paznerfunction CeedQFunctionContextGetState(ctx, state)
1145ec672a92SWill Pazner    ccall((:CeedQFunctionContextGetState, libceed), Cint, (CeedQFunctionContext, Ptr{UInt64}), ctx, state)
1146ec672a92SWill Paznerend
1147ec672a92SWill Pazner
1148ec672a92SWill Paznerfunction CeedQFunctionContextGetBackendData(ctx, data)
1149ec672a92SWill Pazner    ccall((:CeedQFunctionContextGetBackendData, libceed), Cint, (CeedQFunctionContext, Ptr{Cvoid}), ctx, data)
1150ec672a92SWill Paznerend
1151ec672a92SWill Pazner
1152ec672a92SWill Paznerfunction CeedQFunctionContextSetBackendData(ctx, data)
1153ec672a92SWill Pazner    ccall((:CeedQFunctionContextSetBackendData, libceed), Cint, (CeedQFunctionContext, Ptr{Cvoid}), ctx, data)
1154ec672a92SWill Paznerend
1155ec672a92SWill Pazner
1156*daadeac6SWill Paznerfunction CeedQFunctionContextGetFieldLabel(ctx, field_name, field_label)
1157*daadeac6SWill Pazner    ccall((:CeedQFunctionContextGetFieldLabel, libceed), Cint, (CeedQFunctionContext, Ptr{Cchar}, Ptr{CeedContextFieldLabel}), ctx, field_name, field_label)
1158*daadeac6SWill Paznerend
1159*daadeac6SWill Pazner
1160*daadeac6SWill Paznerfunction CeedQFunctionContextSetGeneric(ctx, field_label, field_type, value)
1161*daadeac6SWill Pazner    ccall((:CeedQFunctionContextSetGeneric, libceed), Cint, (CeedQFunctionContext, CeedContextFieldLabel, CeedContextFieldType, Ptr{Cvoid}), ctx, field_label, field_type, value)
1162*daadeac6SWill Paznerend
1163*daadeac6SWill Pazner
1164*daadeac6SWill Paznerfunction CeedQFunctionContextSetDouble(ctx, field_label, values)
1165*daadeac6SWill Pazner    ccall((:CeedQFunctionContextSetDouble, libceed), Cint, (CeedQFunctionContext, CeedContextFieldLabel, Ptr{Cdouble}), ctx, field_label, values)
1166*daadeac6SWill Paznerend
1167*daadeac6SWill Pazner
1168*daadeac6SWill Paznerfunction CeedQFunctionContextSetInt32(ctx, field_label, values)
1169*daadeac6SWill Pazner    ccall((:CeedQFunctionContextSetInt32, libceed), Cint, (CeedQFunctionContext, CeedContextFieldLabel, Ptr{Cint}), ctx, field_label, values)
1170*daadeac6SWill Paznerend
1171*daadeac6SWill Pazner
1172*daadeac6SWill Paznerfunction CeedQFunctionContextGetDataDestroy(ctx, f_mem_type, f)
1173*daadeac6SWill Pazner    ccall((:CeedQFunctionContextGetDataDestroy, libceed), Cint, (CeedQFunctionContext, Ptr{CeedMemType}, Ptr{CeedQFunctionContextDataDestroyUser}), ctx, f_mem_type, f)
1174*daadeac6SWill Paznerend
1175*daadeac6SWill Pazner
1176ec672a92SWill Paznerfunction CeedQFunctionContextReference(ctx)
1177ec672a92SWill Pazner    ccall((:CeedQFunctionContextReference, libceed), Cint, (CeedQFunctionContext,), ctx)
1178ec672a92SWill Paznerend
1179ec672a92SWill Pazner
1180*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataCreate(ceed, data)
1181*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataCreate, libceed), Cint, (Ceed, Ptr{CeedQFunctionAssemblyData}), ceed, data)
1182ec672a92SWill Paznerend
1183ec672a92SWill Pazner
1184*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataReference(data)
1185*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataReference, libceed), Cint, (CeedQFunctionAssemblyData,), data)
1186ec672a92SWill Paznerend
1187ec672a92SWill Pazner
1188*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataSetReuse(data, reuse_assembly_data)
1189*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataSetReuse, libceed), Cint, (CeedQFunctionAssemblyData, Bool), data, reuse_assembly_data)
1190*daadeac6SWill Paznerend
1191*daadeac6SWill Pazner
1192*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataSetUpdateNeeded(data, needs_data_update)
1193*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataSetUpdateNeeded, libceed), Cint, (CeedQFunctionAssemblyData, Bool), data, needs_data_update)
1194*daadeac6SWill Paznerend
1195*daadeac6SWill Pazner
1196*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataIsUpdateNeeded(data, is_update_needed)
1197*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataIsUpdateNeeded, libceed), Cint, (CeedQFunctionAssemblyData, Ptr{Bool}), data, is_update_needed)
1198*daadeac6SWill Paznerend
1199*daadeac6SWill Pazner
1200*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataReferenceCopy(data, data_copy)
1201*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataReferenceCopy, libceed), Cint, (CeedQFunctionAssemblyData, Ptr{CeedQFunctionAssemblyData}), data, data_copy)
1202*daadeac6SWill Paznerend
1203*daadeac6SWill Pazner
1204*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataIsSetup(data, is_setup)
1205*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataIsSetup, libceed), Cint, (CeedQFunctionAssemblyData, Ptr{Bool}), data, is_setup)
1206*daadeac6SWill Paznerend
1207*daadeac6SWill Pazner
1208*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataSetObjects(data, vec, rstr)
1209*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataSetObjects, libceed), Cint, (CeedQFunctionAssemblyData, CeedVector, CeedElemRestriction), data, vec, rstr)
1210*daadeac6SWill Paznerend
1211*daadeac6SWill Pazner
1212*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataGetObjects(data, vec, rstr)
1213*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataGetObjects, libceed), Cint, (CeedQFunctionAssemblyData, Ptr{CeedVector}, Ptr{CeedElemRestriction}), data, vec, rstr)
1214*daadeac6SWill Paznerend
1215*daadeac6SWill Pazner
1216*daadeac6SWill Paznerfunction CeedQFunctionAssemblyDataDestroy(data)
1217*daadeac6SWill Pazner    ccall((:CeedQFunctionAssemblyDataDestroy, libceed), Cint, (Ptr{CeedQFunctionAssemblyData},), data)
1218*daadeac6SWill Paznerend
1219*daadeac6SWill Pazner
1220*daadeac6SWill Paznerfunction CeedOperatorAssemblyDataCreate(ceed, op, data)
1221*daadeac6SWill Pazner    ccall((:CeedOperatorAssemblyDataCreate, libceed), Cint, (Ceed, CeedOperator, Ptr{CeedOperatorAssemblyData}), ceed, op, data)
1222*daadeac6SWill Paznerend
1223*daadeac6SWill Pazner
1224*daadeac6SWill Paznerfunction CeedOperatorAssemblyDataGetEvalModes(data, num_eval_mode_in, eval_mode_in, num_eval_mode_out, eval_mode_out)
1225*daadeac6SWill Pazner    ccall((:CeedOperatorAssemblyDataGetEvalModes, libceed), Cint, (CeedOperatorAssemblyData, Ptr{CeedInt}, Ptr{Ptr{CeedEvalMode}}, Ptr{CeedInt}, Ptr{Ptr{CeedEvalMode}}), data, num_eval_mode_in, eval_mode_in, num_eval_mode_out, eval_mode_out)
1226*daadeac6SWill Paznerend
1227*daadeac6SWill Pazner
1228*daadeac6SWill Paznerfunction CeedOperatorAssemblyDataGetBases(data, basis_in, B_in, basis_out, B_out)
1229*daadeac6SWill Pazner    ccall((:CeedOperatorAssemblyDataGetBases, libceed), Cint, (CeedOperatorAssemblyData, Ptr{CeedBasis}, Ptr{Ptr{CeedScalar}}, Ptr{CeedBasis}, Ptr{Ptr{CeedScalar}}), data, basis_in, B_in, basis_out, B_out)
1230*daadeac6SWill Paznerend
1231*daadeac6SWill Pazner
1232*daadeac6SWill Paznerfunction CeedOperatorAssemblyDataDestroy(data)
1233*daadeac6SWill Pazner    ccall((:CeedOperatorAssemblyDataDestroy, libceed), Cint, (Ptr{CeedOperatorAssemblyData},), data)
1234*daadeac6SWill Paznerend
1235*daadeac6SWill Pazner
1236*daadeac6SWill Paznerfunction CeedOperatorGetOperatorAssemblyData(op, data)
1237*daadeac6SWill Pazner    ccall((:CeedOperatorGetOperatorAssemblyData, libceed), Cint, (CeedOperator, Ptr{CeedOperatorAssemblyData}), op, data)
1238*daadeac6SWill Paznerend
1239*daadeac6SWill Pazner
1240*daadeac6SWill Paznerfunction CeedOperatorGetActiveBasis(op, active_basis)
1241*daadeac6SWill Pazner    ccall((:CeedOperatorGetActiveBasis, libceed), Cint, (CeedOperator, Ptr{CeedBasis}), op, active_basis)
1242*daadeac6SWill Paznerend
1243*daadeac6SWill Pazner
1244*daadeac6SWill Paznerfunction CeedOperatorGetActiveElemRestriction(op, active_rstr)
1245*daadeac6SWill Pazner    ccall((:CeedOperatorGetActiveElemRestriction, libceed), Cint, (CeedOperator, Ptr{CeedElemRestriction}), op, active_rstr)
1246ec672a92SWill Paznerend
1247ec672a92SWill Pazner
1248ec672a92SWill Paznerfunction CeedOperatorGetNumArgs(op, num_args)
1249ec672a92SWill Pazner    ccall((:CeedOperatorGetNumArgs, libceed), Cint, (CeedOperator, Ptr{CeedInt}), op, num_args)
1250ec672a92SWill Paznerend
1251ec672a92SWill Pazner
1252ec672a92SWill Paznerfunction CeedOperatorIsSetupDone(op, is_setup_done)
1253ec672a92SWill Pazner    ccall((:CeedOperatorIsSetupDone, libceed), Cint, (CeedOperator, Ptr{Bool}), op, is_setup_done)
1254ec672a92SWill Paznerend
1255ec672a92SWill Pazner
1256ec672a92SWill Paznerfunction CeedOperatorGetQFunction(op, qf)
1257ec672a92SWill Pazner    ccall((:CeedOperatorGetQFunction, libceed), Cint, (CeedOperator, Ptr{CeedQFunction}), op, qf)
1258ec672a92SWill Paznerend
1259ec672a92SWill Pazner
1260ec672a92SWill Paznerfunction CeedOperatorIsComposite(op, is_composite)
1261ec672a92SWill Pazner    ccall((:CeedOperatorIsComposite, libceed), Cint, (CeedOperator, Ptr{Bool}), op, is_composite)
1262ec672a92SWill Paznerend
1263ec672a92SWill Pazner
1264ec672a92SWill Paznerfunction CeedOperatorGetData(op, data)
1265ec672a92SWill Pazner    ccall((:CeedOperatorGetData, libceed), Cint, (CeedOperator, Ptr{Cvoid}), op, data)
1266ec672a92SWill Paznerend
1267ec672a92SWill Pazner
1268ec672a92SWill Paznerfunction CeedOperatorSetData(op, data)
1269ec672a92SWill Pazner    ccall((:CeedOperatorSetData, libceed), Cint, (CeedOperator, Ptr{Cvoid}), op, data)
1270ec672a92SWill Paznerend
1271ec672a92SWill Pazner
1272ec672a92SWill Paznerfunction CeedOperatorReference(op)
1273ec672a92SWill Pazner    ccall((:CeedOperatorReference, libceed), Cint, (CeedOperator,), op)
1274ec672a92SWill Paznerend
1275ec672a92SWill Pazner
1276ec672a92SWill Paznerfunction CeedOperatorSetSetupDone(op)
1277ec672a92SWill Pazner    ccall((:CeedOperatorSetSetupDone, libceed), Cint, (CeedOperator,), op)
1278ec672a92SWill Paznerend
1279ec672a92SWill Pazner
1280*daadeac6SWill Paznerfunction CeedMatrixMatrixMultiply(ceed, mat_A, mat_B, mat_C, m, n, kk)
1281*daadeac6SWill Pazner    ccall((:CeedMatrixMatrixMultiply, libceed), Cint, (Ceed, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedInt, CeedInt, CeedInt), ceed, mat_A, mat_B, mat_C, m, n, kk)
1282ec672a92SWill Paznerend
1283ec672a92SWill Pazner
1284*daadeac6SWill Pazner# Skipping MacroDefinition: CEED_EXTERN extern CEED_VISIBILITY ( default )
1285ec672a92SWill Pazner
1286*daadeac6SWill Pazner# Skipping MacroDefinition: CEED_QFUNCTION_HELPER CEED_QFUNCTION_ATTR static inline
1287*daadeac6SWill Pazner
1288*daadeac6SWill Paznerconst CeedInt_FMT = "d"
1289ec672a92SWill Pazner
1290ec672a92SWill Paznerconst CEED_VERSION_MAJOR = 0
1291ec672a92SWill Pazner
1292*daadeac6SWill Paznerconst CEED_VERSION_MINOR = 10
1293ec672a92SWill Pazner
1294*daadeac6SWill Paznerconst CEED_VERSION_PATCH = 1
1295ec672a92SWill Pazner
1296ec672a92SWill Paznerconst CEED_VERSION_RELEASE = false
1297ec672a92SWill Pazner
1298*daadeac6SWill Pazner# Skipping MacroDefinition: CEED_INTERN extern CEED_VISIBILITY ( hidden )
1299ec672a92SWill Pazner
1300ec672a92SWill Pazner# Skipping MacroDefinition: CEED_UNUSED __attribute__ ( ( unused ) )
1301ec672a92SWill Pazner
1302ec672a92SWill Paznerconst CEED_MAX_RESOURCE_LEN = 1024
1303ec672a92SWill Pazner
1304ec672a92SWill Paznerconst CEED_MAX_BACKEND_PRIORITY = UINT_MAX
1305ec672a92SWill Pazner
1306ec672a92SWill Paznerconst CEED_COMPOSITE_MAX = 16
1307ec672a92SWill Pazner
1308*daadeac6SWill Paznerconst CEED_FIELD_MAX = 16
1309*daadeac6SWill Pazner
1310ec672a92SWill Pazner# Skipping MacroDefinition: CeedPragmaOptimizeOff _Pragma ( "clang optimize off" )
1311ec672a92SWill Pazner
1312ec672a92SWill Pazner# Skipping MacroDefinition: CeedPragmaOptimizeOn _Pragma ( "clang optimize on" )
1313ec672a92SWill Pazner
1314*daadeac6SWill Paznerconst CEED_DEBUG_COLOR_NONE = 255
1315