xref: /libCEED/julia/LibCEED.jl/src/generated/libceed_bindings.jl (revision ec672a924b3116b076d0affdcc49f20c599f3d02)
1*ec672a92SWill Paznerusing CEnum
2*ec672a92SWill Pazner
3*ec672a92SWill Pazner#! format: off
4*ec672a92SWill Pazner
5*ec672a92SWill Pazner
6*ec672a92SWill Paznerconst CeedInt = Int32
7*ec672a92SWill Pazner
8*ec672a92SWill Paznerconst CeedScalar = Cdouble
9*ec672a92SWill Pazner
10*ec672a92SWill Paznermutable struct Ceed_private end
11*ec672a92SWill Pazner
12*ec672a92SWill Paznerconst Ceed = Ptr{Ceed_private}
13*ec672a92SWill Pazner
14*ec672a92SWill Paznermutable struct CeedRequest_private end
15*ec672a92SWill Pazner
16*ec672a92SWill Paznerconst CeedRequest = Ptr{CeedRequest_private}
17*ec672a92SWill Pazner
18*ec672a92SWill Paznermutable struct CeedVector_private end
19*ec672a92SWill Pazner
20*ec672a92SWill Paznerconst CeedVector = Ptr{CeedVector_private}
21*ec672a92SWill Pazner
22*ec672a92SWill Paznermutable struct CeedElemRestriction_private end
23*ec672a92SWill Pazner
24*ec672a92SWill Paznerconst CeedElemRestriction = Ptr{CeedElemRestriction_private}
25*ec672a92SWill Pazner
26*ec672a92SWill Paznermutable struct CeedBasis_private end
27*ec672a92SWill Pazner
28*ec672a92SWill Paznerconst CeedBasis = Ptr{CeedBasis_private}
29*ec672a92SWill Pazner
30*ec672a92SWill Paznermutable struct CeedQFunction_private end
31*ec672a92SWill Pazner
32*ec672a92SWill Paznerconst CeedQFunction = Ptr{CeedQFunction_private}
33*ec672a92SWill Pazner
34*ec672a92SWill Paznermutable struct CeedQFunctionContext_private end
35*ec672a92SWill Pazner
36*ec672a92SWill Paznerconst CeedQFunctionContext = Ptr{CeedQFunctionContext_private}
37*ec672a92SWill Pazner
38*ec672a92SWill Paznermutable struct CeedOperator_private end
39*ec672a92SWill Pazner
40*ec672a92SWill Paznerconst CeedOperator = Ptr{CeedOperator_private}
41*ec672a92SWill Pazner
42*ec672a92SWill Paznerfunction CeedRegistryGetList(n, resources, array)
43*ec672a92SWill Pazner    ccall((:CeedRegistryGetList, libceed), Cint, (Ptr{Csize_t}, Ptr{Ptr{Ptr{Cchar}}}, Ptr{Ptr{CeedInt}}), n, resources, array)
44*ec672a92SWill Paznerend
45*ec672a92SWill Pazner
46*ec672a92SWill Paznerfunction CeedInit(resource, ceed)
47*ec672a92SWill Pazner    ccall((:CeedInit, libceed), Cint, (Ptr{Cchar}, Ptr{Ceed}), resource, ceed)
48*ec672a92SWill Paznerend
49*ec672a92SWill Pazner
50*ec672a92SWill Paznerfunction CeedReferenceCopy(ceed, ceed_copy)
51*ec672a92SWill Pazner    ccall((:CeedReferenceCopy, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, ceed_copy)
52*ec672a92SWill Paznerend
53*ec672a92SWill Pazner
54*ec672a92SWill Paznerfunction CeedGetResource(ceed, resource)
55*ec672a92SWill Pazner    ccall((:CeedGetResource, libceed), Cint, (Ceed, Ptr{Ptr{Cchar}}), ceed, resource)
56*ec672a92SWill Paznerend
57*ec672a92SWill Pazner
58*ec672a92SWill Paznerfunction CeedIsDeterministic(ceed, is_deterministic)
59*ec672a92SWill Pazner    ccall((:CeedIsDeterministic, libceed), Cint, (Ceed, Ptr{Bool}), ceed, is_deterministic)
60*ec672a92SWill Paznerend
61*ec672a92SWill Pazner
62*ec672a92SWill Paznerfunction CeedView(ceed, stream)
63*ec672a92SWill Pazner    ccall((:CeedView, libceed), Cint, (Ceed, Ptr{Libc.FILE}), ceed, stream)
64*ec672a92SWill Paznerend
65*ec672a92SWill Pazner
66*ec672a92SWill Paznerfunction CeedDestroy(ceed)
67*ec672a92SWill Pazner    ccall((:CeedDestroy, libceed), Cint, (Ptr{Ceed},), ceed)
68*ec672a92SWill Paznerend
69*ec672a92SWill Pazner
70*ec672a92SWill Pazner# automatic type deduction for variadic arguments may not be what you want, please use with caution
71*ec672a92SWill Pazner@generated function CeedErrorImpl(arg1, arg2, arg3, arg4, arg5, arg6, va_list...)
72*ec672a92SWill Pazner        :(@ccall(libceed.CeedErrorImpl(arg1::Ceed, arg2::Ptr{Cchar}, arg3::Cint, arg4::Ptr{Cchar}, arg5::Cint, arg6::Ptr{Cchar}; $(to_c_type_pairs(va_list)...))::Cint))
73*ec672a92SWill Pazner    end
74*ec672a92SWill Pazner
75*ec672a92SWill Pazner# typedef int ( * CeedErrorHandler ) ( Ceed , const char * , int , const char * , int , const char * , va_list * )
76*ec672a92SWill Paznerconst CeedErrorHandler = Ptr{Cvoid}
77*ec672a92SWill Pazner
78*ec672a92SWill Paznerfunction CeedSetErrorHandler(ceed, eh)
79*ec672a92SWill Pazner    ccall((:CeedSetErrorHandler, libceed), Cint, (Ceed, CeedErrorHandler), ceed, eh)
80*ec672a92SWill Paznerend
81*ec672a92SWill Pazner
82*ec672a92SWill Paznerfunction CeedGetErrorMessage(arg1, err_msg)
83*ec672a92SWill Pazner    ccall((:CeedGetErrorMessage, libceed), Cint, (Ceed, Ptr{Ptr{Cchar}}), arg1, err_msg)
84*ec672a92SWill Paznerend
85*ec672a92SWill Pazner
86*ec672a92SWill Paznerfunction CeedResetErrorMessage(arg1, err_msg)
87*ec672a92SWill Pazner    ccall((:CeedResetErrorMessage, libceed), Cint, (Ceed, Ptr{Ptr{Cchar}}), arg1, err_msg)
88*ec672a92SWill Paznerend
89*ec672a92SWill Pazner
90*ec672a92SWill Paznerfunction CeedGetVersion(major, minor, patch, release)
91*ec672a92SWill Pazner    ccall((:CeedGetVersion, libceed), Cint, (Ptr{Cint}, Ptr{Cint}, Ptr{Cint}, Ptr{Bool}), major, minor, patch, release)
92*ec672a92SWill Paznerend
93*ec672a92SWill Pazner
94*ec672a92SWill Pazner@cenum CeedErrorType::Int32 begin
95*ec672a92SWill Pazner    CEED_ERROR_SUCCESS = 0
96*ec672a92SWill Pazner    CEED_ERROR_MINOR = 1
97*ec672a92SWill Pazner    CEED_ERROR_DIMENSION = 2
98*ec672a92SWill Pazner    CEED_ERROR_INCOMPLETE = 3
99*ec672a92SWill Pazner    CEED_ERROR_INCOMPATIBLE = 4
100*ec672a92SWill Pazner    CEED_ERROR_ACCESS = 5
101*ec672a92SWill Pazner    CEED_ERROR_MAJOR = -1
102*ec672a92SWill Pazner    CEED_ERROR_BACKEND = -2
103*ec672a92SWill Pazner    CEED_ERROR_UNSUPPORTED = -3
104*ec672a92SWill Paznerend
105*ec672a92SWill Pazner
106*ec672a92SWill Pazner@cenum CeedMemType::UInt32 begin
107*ec672a92SWill Pazner    CEED_MEM_HOST = 0
108*ec672a92SWill Pazner    CEED_MEM_DEVICE = 1
109*ec672a92SWill Paznerend
110*ec672a92SWill Pazner
111*ec672a92SWill Paznerfunction CeedGetPreferredMemType(ceed, type)
112*ec672a92SWill Pazner    ccall((:CeedGetPreferredMemType, libceed), Cint, (Ceed, Ptr{CeedMemType}), ceed, type)
113*ec672a92SWill Paznerend
114*ec672a92SWill Pazner
115*ec672a92SWill Pazner@cenum CeedCopyMode::UInt32 begin
116*ec672a92SWill Pazner    CEED_COPY_VALUES = 0
117*ec672a92SWill Pazner    CEED_USE_POINTER = 1
118*ec672a92SWill Pazner    CEED_OWN_POINTER = 2
119*ec672a92SWill Paznerend
120*ec672a92SWill Pazner
121*ec672a92SWill Pazner@cenum CeedNormType::UInt32 begin
122*ec672a92SWill Pazner    CEED_NORM_1 = 0
123*ec672a92SWill Pazner    CEED_NORM_2 = 1
124*ec672a92SWill Pazner    CEED_NORM_MAX = 2
125*ec672a92SWill Paznerend
126*ec672a92SWill Pazner
127*ec672a92SWill Paznerfunction CeedVectorCreate(ceed, len, vec)
128*ec672a92SWill Pazner    ccall((:CeedVectorCreate, libceed), Cint, (Ceed, CeedInt, Ptr{CeedVector}), ceed, len, vec)
129*ec672a92SWill Paznerend
130*ec672a92SWill Pazner
131*ec672a92SWill Paznerfunction CeedVectorReferenceCopy(vec, vec_copy)
132*ec672a92SWill Pazner    ccall((:CeedVectorReferenceCopy, libceed), Cint, (CeedVector, Ptr{CeedVector}), vec, vec_copy)
133*ec672a92SWill Paznerend
134*ec672a92SWill Pazner
135*ec672a92SWill Paznerfunction CeedVectorSetArray(vec, mem_type, copy_mode, array)
136*ec672a92SWill Pazner    ccall((:CeedVectorSetArray, libceed), Cint, (CeedVector, CeedMemType, CeedCopyMode, Ptr{CeedScalar}), vec, mem_type, copy_mode, array)
137*ec672a92SWill Paznerend
138*ec672a92SWill Pazner
139*ec672a92SWill Paznerfunction CeedVectorSetValue(vec, value)
140*ec672a92SWill Pazner    ccall((:CeedVectorSetValue, libceed), Cint, (CeedVector, CeedScalar), vec, value)
141*ec672a92SWill Paznerend
142*ec672a92SWill Pazner
143*ec672a92SWill Paznerfunction CeedVectorSyncArray(vec, mem_type)
144*ec672a92SWill Pazner    ccall((:CeedVectorSyncArray, libceed), Cint, (CeedVector, CeedMemType), vec, mem_type)
145*ec672a92SWill Paznerend
146*ec672a92SWill Pazner
147*ec672a92SWill Paznerfunction CeedVectorTakeArray(vec, mem_type, array)
148*ec672a92SWill Pazner    ccall((:CeedVectorTakeArray, libceed), Cint, (CeedVector, CeedMemType, Ptr{Ptr{CeedScalar}}), vec, mem_type, array)
149*ec672a92SWill Paznerend
150*ec672a92SWill Pazner
151*ec672a92SWill Paznerfunction CeedVectorGetArray(vec, mem_type, array)
152*ec672a92SWill Pazner    ccall((:CeedVectorGetArray, libceed), Cint, (CeedVector, CeedMemType, Ptr{Ptr{CeedScalar}}), vec, mem_type, array)
153*ec672a92SWill Paznerend
154*ec672a92SWill Pazner
155*ec672a92SWill Paznerfunction CeedVectorGetArrayRead(vec, mem_type, array)
156*ec672a92SWill Pazner    ccall((:CeedVectorGetArrayRead, libceed), Cint, (CeedVector, CeedMemType, Ptr{Ptr{CeedScalar}}), vec, mem_type, array)
157*ec672a92SWill Paznerend
158*ec672a92SWill Pazner
159*ec672a92SWill Paznerfunction CeedVectorRestoreArray(vec, array)
160*ec672a92SWill Pazner    ccall((:CeedVectorRestoreArray, libceed), Cint, (CeedVector, Ptr{Ptr{CeedScalar}}), vec, array)
161*ec672a92SWill Paznerend
162*ec672a92SWill Pazner
163*ec672a92SWill Paznerfunction CeedVectorRestoreArrayRead(vec, array)
164*ec672a92SWill Pazner    ccall((:CeedVectorRestoreArrayRead, libceed), Cint, (CeedVector, Ptr{Ptr{CeedScalar}}), vec, array)
165*ec672a92SWill Paznerend
166*ec672a92SWill Pazner
167*ec672a92SWill Paznerfunction CeedVectorNorm(vec, type, norm)
168*ec672a92SWill Pazner    ccall((:CeedVectorNorm, libceed), Cint, (CeedVector, CeedNormType, Ptr{CeedScalar}), vec, type, norm)
169*ec672a92SWill Paznerend
170*ec672a92SWill Pazner
171*ec672a92SWill Paznerfunction CeedVectorScale(x, alpha)
172*ec672a92SWill Pazner    ccall((:CeedVectorScale, libceed), Cint, (CeedVector, CeedScalar), x, alpha)
173*ec672a92SWill Paznerend
174*ec672a92SWill Pazner
175*ec672a92SWill Paznerfunction CeedVectorAXPY(y, alpha, x)
176*ec672a92SWill Pazner    ccall((:CeedVectorAXPY, libceed), Cint, (CeedVector, CeedScalar, CeedVector), y, alpha, x)
177*ec672a92SWill Paznerend
178*ec672a92SWill Pazner
179*ec672a92SWill Paznerfunction CeedVectorPointwiseMult(w, x, y)
180*ec672a92SWill Pazner    ccall((:CeedVectorPointwiseMult, libceed), Cint, (CeedVector, CeedVector, CeedVector), w, x, y)
181*ec672a92SWill Paznerend
182*ec672a92SWill Pazner
183*ec672a92SWill Paznerfunction CeedVectorReciprocal(vec)
184*ec672a92SWill Pazner    ccall((:CeedVectorReciprocal, libceed), Cint, (CeedVector,), vec)
185*ec672a92SWill Paznerend
186*ec672a92SWill Pazner
187*ec672a92SWill Paznerfunction CeedVectorView(vec, fp_fmt, stream)
188*ec672a92SWill Pazner    ccall((:CeedVectorView, libceed), Cint, (CeedVector, Ptr{Cchar}, Ptr{Libc.FILE}), vec, fp_fmt, stream)
189*ec672a92SWill Paznerend
190*ec672a92SWill Pazner
191*ec672a92SWill Paznerfunction CeedVectorGetLength(vec, length)
192*ec672a92SWill Pazner    ccall((:CeedVectorGetLength, libceed), Cint, (CeedVector, Ptr{CeedInt}), vec, length)
193*ec672a92SWill Paznerend
194*ec672a92SWill Pazner
195*ec672a92SWill Paznerfunction CeedVectorDestroy(vec)
196*ec672a92SWill Pazner    ccall((:CeedVectorDestroy, libceed), Cint, (Ptr{CeedVector},), vec)
197*ec672a92SWill Paznerend
198*ec672a92SWill Pazner
199*ec672a92SWill Paznerfunction CeedRequestWait(req)
200*ec672a92SWill Pazner    ccall((:CeedRequestWait, libceed), Cint, (Ptr{CeedRequest},), req)
201*ec672a92SWill Paznerend
202*ec672a92SWill Pazner
203*ec672a92SWill Pazner@cenum CeedTransposeMode::UInt32 begin
204*ec672a92SWill Pazner    CEED_NOTRANSPOSE = 0
205*ec672a92SWill Pazner    CEED_TRANSPOSE = 1
206*ec672a92SWill Paznerend
207*ec672a92SWill Pazner
208*ec672a92SWill Paznerfunction CeedElemRestrictionCreate(ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)
209*ec672a92SWill Pazner    ccall((:CeedElemRestrictionCreate, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedInt, CeedMemType, CeedCopyMode, Ptr{CeedInt}, Ptr{CeedElemRestriction}), ceed, num_elem, elem_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)
210*ec672a92SWill Paznerend
211*ec672a92SWill Pazner
212*ec672a92SWill Paznerfunction CeedElemRestrictionCreateStrided(ceed, num_elem, elem_size, num_comp, l_size, strides, rstr)
213*ec672a92SWill Pazner    ccall((:CeedElemRestrictionCreateStrided, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, Ptr{CeedInt}, Ptr{CeedElemRestriction}), ceed, num_elem, elem_size, num_comp, l_size, strides, rstr)
214*ec672a92SWill Paznerend
215*ec672a92SWill Pazner
216*ec672a92SWill Paznerfunction CeedElemRestrictionCreateBlocked(ceed, num_elem, elem_size, blk_size, num_comp, comp_stride, l_size, mem_type, copy_mode, offsets, rstr)
217*ec672a92SWill Pazner    ccall((:CeedElemRestrictionCreateBlocked, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedInt, CeedInt, 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)
218*ec672a92SWill Paznerend
219*ec672a92SWill Pazner
220*ec672a92SWill Paznerfunction CeedElemRestrictionCreateBlockedStrided(ceed, num_elem, elem_size, blk_size, num_comp, l_size, strides, rstr)
221*ec672a92SWill Pazner    ccall((:CeedElemRestrictionCreateBlockedStrided, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedInt, Ptr{CeedInt}, Ptr{CeedElemRestriction}), ceed, num_elem, elem_size, blk_size, num_comp, l_size, strides, rstr)
222*ec672a92SWill Paznerend
223*ec672a92SWill Pazner
224*ec672a92SWill Paznerfunction CeedElemRestrictionReferenceCopy(rstr, rstr_copy)
225*ec672a92SWill Pazner    ccall((:CeedElemRestrictionReferenceCopy, libceed), Cint, (CeedElemRestriction, Ptr{CeedElemRestriction}), rstr, rstr_copy)
226*ec672a92SWill Paznerend
227*ec672a92SWill Pazner
228*ec672a92SWill Paznerfunction CeedElemRestrictionCreateVector(rstr, lvec, evec)
229*ec672a92SWill Pazner    ccall((:CeedElemRestrictionCreateVector, libceed), Cint, (CeedElemRestriction, Ptr{CeedVector}, Ptr{CeedVector}), rstr, lvec, evec)
230*ec672a92SWill Paznerend
231*ec672a92SWill Pazner
232*ec672a92SWill Paznerfunction CeedElemRestrictionApply(rstr, t_mode, u, ru, request)
233*ec672a92SWill Pazner    ccall((:CeedElemRestrictionApply, libceed), Cint, (CeedElemRestriction, CeedTransposeMode, CeedVector, CeedVector, Ptr{CeedRequest}), rstr, t_mode, u, ru, request)
234*ec672a92SWill Paznerend
235*ec672a92SWill Pazner
236*ec672a92SWill Paznerfunction CeedElemRestrictionApplyBlock(rstr, block, t_mode, u, ru, request)
237*ec672a92SWill Pazner    ccall((:CeedElemRestrictionApplyBlock, libceed), Cint, (CeedElemRestriction, CeedInt, CeedTransposeMode, CeedVector, CeedVector, Ptr{CeedRequest}), rstr, block, t_mode, u, ru, request)
238*ec672a92SWill Paznerend
239*ec672a92SWill Pazner
240*ec672a92SWill Paznerfunction CeedElemRestrictionGetCompStride(rstr, comp_stride)
241*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetCompStride, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, comp_stride)
242*ec672a92SWill Paznerend
243*ec672a92SWill Pazner
244*ec672a92SWill Paznerfunction CeedElemRestrictionGetNumElements(rstr, num_elem)
245*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetNumElements, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, num_elem)
246*ec672a92SWill Paznerend
247*ec672a92SWill Pazner
248*ec672a92SWill Paznerfunction CeedElemRestrictionGetElementSize(rstr, elem_size)
249*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetElementSize, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, elem_size)
250*ec672a92SWill Paznerend
251*ec672a92SWill Pazner
252*ec672a92SWill Paznerfunction CeedElemRestrictionGetLVectorSize(rstr, l_size)
253*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetLVectorSize, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, l_size)
254*ec672a92SWill Paznerend
255*ec672a92SWill Pazner
256*ec672a92SWill Paznerfunction CeedElemRestrictionGetNumComponents(rstr, num_comp)
257*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetNumComponents, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, num_comp)
258*ec672a92SWill Paznerend
259*ec672a92SWill Pazner
260*ec672a92SWill Paznerfunction CeedElemRestrictionGetNumBlocks(rstr, num_blk)
261*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetNumBlocks, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, num_blk)
262*ec672a92SWill Paznerend
263*ec672a92SWill Pazner
264*ec672a92SWill Paznerfunction CeedElemRestrictionGetBlockSize(rstr, blk_size)
265*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetBlockSize, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, blk_size)
266*ec672a92SWill Paznerend
267*ec672a92SWill Pazner
268*ec672a92SWill Paznerfunction CeedElemRestrictionGetMultiplicity(rstr, mult)
269*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetMultiplicity, libceed), Cint, (CeedElemRestriction, CeedVector), rstr, mult)
270*ec672a92SWill Paznerend
271*ec672a92SWill Pazner
272*ec672a92SWill Paznerfunction CeedElemRestrictionView(rstr, stream)
273*ec672a92SWill Pazner    ccall((:CeedElemRestrictionView, libceed), Cint, (CeedElemRestriction, Ptr{Libc.FILE}), rstr, stream)
274*ec672a92SWill Paznerend
275*ec672a92SWill Pazner
276*ec672a92SWill Paznerfunction CeedElemRestrictionDestroy(rstr)
277*ec672a92SWill Pazner    ccall((:CeedElemRestrictionDestroy, libceed), Cint, (Ptr{CeedElemRestriction},), rstr)
278*ec672a92SWill Paznerend
279*ec672a92SWill Pazner
280*ec672a92SWill Pazner@cenum CeedEvalMode::UInt32 begin
281*ec672a92SWill Pazner    CEED_EVAL_NONE = 0
282*ec672a92SWill Pazner    CEED_EVAL_INTERP = 1
283*ec672a92SWill Pazner    CEED_EVAL_GRAD = 2
284*ec672a92SWill Pazner    CEED_EVAL_DIV = 4
285*ec672a92SWill Pazner    CEED_EVAL_CURL = 8
286*ec672a92SWill Pazner    CEED_EVAL_WEIGHT = 16
287*ec672a92SWill Paznerend
288*ec672a92SWill Pazner
289*ec672a92SWill Pazner@cenum CeedQuadMode::UInt32 begin
290*ec672a92SWill Pazner    CEED_GAUSS = 0
291*ec672a92SWill Pazner    CEED_GAUSS_LOBATTO = 1
292*ec672a92SWill Paznerend
293*ec672a92SWill Pazner
294*ec672a92SWill Pazner@cenum CeedElemTopology::UInt32 begin
295*ec672a92SWill Pazner    CEED_LINE = 65536
296*ec672a92SWill Pazner    CEED_TRIANGLE = 131073
297*ec672a92SWill Pazner    CEED_QUAD = 131074
298*ec672a92SWill Pazner    CEED_TET = 196611
299*ec672a92SWill Pazner    CEED_PYRAMID = 196612
300*ec672a92SWill Pazner    CEED_PRISM = 196613
301*ec672a92SWill Pazner    CEED_HEX = 196614
302*ec672a92SWill Paznerend
303*ec672a92SWill Pazner
304*ec672a92SWill Paznerfunction CeedBasisCreateTensorH1Lagrange(ceed, dim, num_comp, P, Q, quad_mode, basis)
305*ec672a92SWill Pazner    ccall((:CeedBasisCreateTensorH1Lagrange, libceed), Cint, (Ceed, CeedInt, CeedInt, CeedInt, CeedInt, CeedQuadMode, Ptr{CeedBasis}), ceed, dim, num_comp, P, Q, quad_mode, basis)
306*ec672a92SWill Paznerend
307*ec672a92SWill Pazner
308*ec672a92SWill Paznerfunction CeedBasisCreateTensorH1(ceed, dim, num_comp, P_1d, Q_1d, interp_1d, grad_1d, q_ref_1d, q_weight_1d, basis)
309*ec672a92SWill 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)
310*ec672a92SWill Paznerend
311*ec672a92SWill Pazner
312*ec672a92SWill Paznerfunction CeedBasisCreateH1(ceed, topo, num_comp, num_nodes, nqpts, interp, grad, q_ref, q_weights, basis)
313*ec672a92SWill 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)
314*ec672a92SWill Paznerend
315*ec672a92SWill Pazner
316*ec672a92SWill Paznerfunction CeedBasisReferenceCopy(basis, basis_copy)
317*ec672a92SWill Pazner    ccall((:CeedBasisReferenceCopy, libceed), Cint, (CeedBasis, Ptr{CeedBasis}), basis, basis_copy)
318*ec672a92SWill Paznerend
319*ec672a92SWill Pazner
320*ec672a92SWill Paznerfunction CeedBasisView(basis, stream)
321*ec672a92SWill Pazner    ccall((:CeedBasisView, libceed), Cint, (CeedBasis, Ptr{Libc.FILE}), basis, stream)
322*ec672a92SWill Paznerend
323*ec672a92SWill Pazner
324*ec672a92SWill Paznerfunction CeedBasisApply(basis, num_elem, t_mode, eval_mode, u, v)
325*ec672a92SWill Pazner    ccall((:CeedBasisApply, libceed), Cint, (CeedBasis, CeedInt, CeedTransposeMode, CeedEvalMode, CeedVector, CeedVector), basis, num_elem, t_mode, eval_mode, u, v)
326*ec672a92SWill Paznerend
327*ec672a92SWill Pazner
328*ec672a92SWill Paznerfunction CeedBasisGetDimension(basis, dim)
329*ec672a92SWill Pazner    ccall((:CeedBasisGetDimension, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, dim)
330*ec672a92SWill Paznerend
331*ec672a92SWill Pazner
332*ec672a92SWill Paznerfunction CeedBasisGetTopology(basis, topo)
333*ec672a92SWill Pazner    ccall((:CeedBasisGetTopology, libceed), Cint, (CeedBasis, Ptr{CeedElemTopology}), basis, topo)
334*ec672a92SWill Paznerend
335*ec672a92SWill Pazner
336*ec672a92SWill Paznerfunction CeedBasisGetNumComponents(basis, num_comp)
337*ec672a92SWill Pazner    ccall((:CeedBasisGetNumComponents, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, num_comp)
338*ec672a92SWill Paznerend
339*ec672a92SWill Pazner
340*ec672a92SWill Paznerfunction CeedBasisGetNumNodes(basis, P)
341*ec672a92SWill Pazner    ccall((:CeedBasisGetNumNodes, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, P)
342*ec672a92SWill Paznerend
343*ec672a92SWill Pazner
344*ec672a92SWill Paznerfunction CeedBasisGetNumNodes1D(basis, P_1d)
345*ec672a92SWill Pazner    ccall((:CeedBasisGetNumNodes1D, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, P_1d)
346*ec672a92SWill Paznerend
347*ec672a92SWill Pazner
348*ec672a92SWill Paznerfunction CeedBasisGetNumQuadraturePoints(basis, Q)
349*ec672a92SWill Pazner    ccall((:CeedBasisGetNumQuadraturePoints, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, Q)
350*ec672a92SWill Paznerend
351*ec672a92SWill Pazner
352*ec672a92SWill Paznerfunction CeedBasisGetNumQuadraturePoints1D(basis, Q_1d)
353*ec672a92SWill Pazner    ccall((:CeedBasisGetNumQuadraturePoints1D, libceed), Cint, (CeedBasis, Ptr{CeedInt}), basis, Q_1d)
354*ec672a92SWill Paznerend
355*ec672a92SWill Pazner
356*ec672a92SWill Paznerfunction CeedBasisGetQRef(basis, q_ref)
357*ec672a92SWill Pazner    ccall((:CeedBasisGetQRef, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, q_ref)
358*ec672a92SWill Paznerend
359*ec672a92SWill Pazner
360*ec672a92SWill Paznerfunction CeedBasisGetQWeights(basis, q_weights)
361*ec672a92SWill Pazner    ccall((:CeedBasisGetQWeights, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, q_weights)
362*ec672a92SWill Paznerend
363*ec672a92SWill Pazner
364*ec672a92SWill Paznerfunction CeedBasisGetInterp(basis, interp)
365*ec672a92SWill Pazner    ccall((:CeedBasisGetInterp, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, interp)
366*ec672a92SWill Paznerend
367*ec672a92SWill Pazner
368*ec672a92SWill Paznerfunction CeedBasisGetInterp1D(basis, interp_1d)
369*ec672a92SWill Pazner    ccall((:CeedBasisGetInterp1D, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, interp_1d)
370*ec672a92SWill Paznerend
371*ec672a92SWill Pazner
372*ec672a92SWill Paznerfunction CeedBasisGetGrad(basis, grad)
373*ec672a92SWill Pazner    ccall((:CeedBasisGetGrad, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, grad)
374*ec672a92SWill Paznerend
375*ec672a92SWill Pazner
376*ec672a92SWill Paznerfunction CeedBasisGetGrad1D(basis, grad_1d)
377*ec672a92SWill Pazner    ccall((:CeedBasisGetGrad1D, libceed), Cint, (CeedBasis, Ptr{Ptr{CeedScalar}}), basis, grad_1d)
378*ec672a92SWill Paznerend
379*ec672a92SWill Pazner
380*ec672a92SWill Paznerfunction CeedBasisDestroy(basis)
381*ec672a92SWill Pazner    ccall((:CeedBasisDestroy, libceed), Cint, (Ptr{CeedBasis},), basis)
382*ec672a92SWill Paznerend
383*ec672a92SWill Pazner
384*ec672a92SWill Paznerfunction CeedGaussQuadrature(Q, q_ref_1d, q_weight_1d)
385*ec672a92SWill Pazner    ccall((:CeedGaussQuadrature, libceed), Cint, (CeedInt, Ptr{CeedScalar}, Ptr{CeedScalar}), Q, q_ref_1d, q_weight_1d)
386*ec672a92SWill Paznerend
387*ec672a92SWill Pazner
388*ec672a92SWill Paznerfunction CeedLobattoQuadrature(Q, q_ref_1d, q_weight_1d)
389*ec672a92SWill Pazner    ccall((:CeedLobattoQuadrature, libceed), Cint, (CeedInt, Ptr{CeedScalar}, Ptr{CeedScalar}), Q, q_ref_1d, q_weight_1d)
390*ec672a92SWill Paznerend
391*ec672a92SWill Pazner
392*ec672a92SWill Paznerfunction CeedQRFactorization(ceed, mat, tau, m, n)
393*ec672a92SWill Pazner    ccall((:CeedQRFactorization, libceed), Cint, (Ceed, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedInt, CeedInt), ceed, mat, tau, m, n)
394*ec672a92SWill Paznerend
395*ec672a92SWill Pazner
396*ec672a92SWill Paznerfunction CeedSymmetricSchurDecomposition(ceed, mat, lambda, n)
397*ec672a92SWill Pazner    ccall((:CeedSymmetricSchurDecomposition, libceed), Cint, (Ceed, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedInt), ceed, mat, lambda, n)
398*ec672a92SWill Paznerend
399*ec672a92SWill Pazner
400*ec672a92SWill Paznerfunction CeedSimultaneousDiagonalization(ceed, mat_A, mat_B, x, lambda, n)
401*ec672a92SWill Pazner    ccall((:CeedSimultaneousDiagonalization, libceed), Cint, (Ceed, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedInt), ceed, mat_A, mat_B, x, lambda, n)
402*ec672a92SWill Paznerend
403*ec672a92SWill Pazner
404*ec672a92SWill Pazner# typedef int ( * CeedQFunctionUser ) ( void * ctx , const CeedInt Q , const CeedScalar * const * in , CeedScalar * const * out )
405*ec672a92SWill Paznerconst CeedQFunctionUser = Ptr{Cvoid}
406*ec672a92SWill Pazner
407*ec672a92SWill Paznerfunction CeedQFunctionCreateInterior(ceed, vec_length, f, source, qf)
408*ec672a92SWill Pazner    ccall((:CeedQFunctionCreateInterior, libceed), Cint, (Ceed, CeedInt, CeedQFunctionUser, Ptr{Cchar}, Ptr{CeedQFunction}), ceed, vec_length, f, source, qf)
409*ec672a92SWill Paznerend
410*ec672a92SWill Pazner
411*ec672a92SWill Paznerfunction CeedQFunctionCreateInteriorByName(ceed, name, qf)
412*ec672a92SWill Pazner    ccall((:CeedQFunctionCreateInteriorByName, libceed), Cint, (Ceed, Ptr{Cchar}, Ptr{CeedQFunction}), ceed, name, qf)
413*ec672a92SWill Paznerend
414*ec672a92SWill Pazner
415*ec672a92SWill Paznerfunction CeedQFunctionCreateIdentity(ceed, size, in_mode, out_mode, qf)
416*ec672a92SWill Pazner    ccall((:CeedQFunctionCreateIdentity, libceed), Cint, (Ceed, CeedInt, CeedEvalMode, CeedEvalMode, Ptr{CeedQFunction}), ceed, size, in_mode, out_mode, qf)
417*ec672a92SWill Paznerend
418*ec672a92SWill Pazner
419*ec672a92SWill Paznerfunction CeedQFunctionReferenceCopy(qf, qf_copy)
420*ec672a92SWill Pazner    ccall((:CeedQFunctionReferenceCopy, libceed), Cint, (CeedQFunction, Ptr{CeedQFunction}), qf, qf_copy)
421*ec672a92SWill Paznerend
422*ec672a92SWill Pazner
423*ec672a92SWill Paznerfunction CeedQFunctionAddInput(qf, field_name, size, eval_mode)
424*ec672a92SWill Pazner    ccall((:CeedQFunctionAddInput, libceed), Cint, (CeedQFunction, Ptr{Cchar}, CeedInt, CeedEvalMode), qf, field_name, size, eval_mode)
425*ec672a92SWill Paznerend
426*ec672a92SWill Pazner
427*ec672a92SWill Paznerfunction CeedQFunctionAddOutput(qf, field_name, size, eval_mode)
428*ec672a92SWill Pazner    ccall((:CeedQFunctionAddOutput, libceed), Cint, (CeedQFunction, Ptr{Cchar}, CeedInt, CeedEvalMode), qf, field_name, size, eval_mode)
429*ec672a92SWill Paznerend
430*ec672a92SWill Pazner
431*ec672a92SWill Paznerfunction CeedQFunctionSetContext(qf, ctx)
432*ec672a92SWill Pazner    ccall((:CeedQFunctionSetContext, libceed), Cint, (CeedQFunction, CeedQFunctionContext), qf, ctx)
433*ec672a92SWill Paznerend
434*ec672a92SWill Pazner
435*ec672a92SWill Paznerfunction CeedQFunctionView(qf, stream)
436*ec672a92SWill Pazner    ccall((:CeedQFunctionView, libceed), Cint, (CeedQFunction, Ptr{Libc.FILE}), qf, stream)
437*ec672a92SWill Paznerend
438*ec672a92SWill Pazner
439*ec672a92SWill Paznerfunction CeedQFunctionApply(qf, Q, u, v)
440*ec672a92SWill Pazner    ccall((:CeedQFunctionApply, libceed), Cint, (CeedQFunction, CeedInt, Ptr{CeedVector}, Ptr{CeedVector}), qf, Q, u, v)
441*ec672a92SWill Paznerend
442*ec672a92SWill Pazner
443*ec672a92SWill Paznerfunction CeedQFunctionDestroy(qf)
444*ec672a92SWill Pazner    ccall((:CeedQFunctionDestroy, libceed), Cint, (Ptr{CeedQFunction},), qf)
445*ec672a92SWill Paznerend
446*ec672a92SWill Pazner
447*ec672a92SWill Paznerfunction CeedQFunctionContextCreate(ceed, ctx)
448*ec672a92SWill Pazner    ccall((:CeedQFunctionContextCreate, libceed), Cint, (Ceed, Ptr{CeedQFunctionContext}), ceed, ctx)
449*ec672a92SWill Paznerend
450*ec672a92SWill Pazner
451*ec672a92SWill Paznerfunction CeedQFunctionContextReferenceCopy(ctx, ctx_copy)
452*ec672a92SWill Pazner    ccall((:CeedQFunctionContextReferenceCopy, libceed), Cint, (CeedQFunctionContext, Ptr{CeedQFunctionContext}), ctx, ctx_copy)
453*ec672a92SWill Paznerend
454*ec672a92SWill Pazner
455*ec672a92SWill Paznerfunction CeedQFunctionContextSetData(ctx, mem_type, copy_mode, size, data)
456*ec672a92SWill Pazner    ccall((:CeedQFunctionContextSetData, libceed), Cint, (CeedQFunctionContext, CeedMemType, CeedCopyMode, Csize_t, Ptr{Cvoid}), ctx, mem_type, copy_mode, size, data)
457*ec672a92SWill Paznerend
458*ec672a92SWill Pazner
459*ec672a92SWill Paznerfunction CeedQFunctionContextTakeData(ctx, mem_type, data)
460*ec672a92SWill Pazner    ccall((:CeedQFunctionContextTakeData, libceed), Cint, (CeedQFunctionContext, CeedMemType, Ptr{Cvoid}), ctx, mem_type, data)
461*ec672a92SWill Paznerend
462*ec672a92SWill Pazner
463*ec672a92SWill Paznerfunction CeedQFunctionContextGetData(ctx, mem_type, data)
464*ec672a92SWill Pazner    ccall((:CeedQFunctionContextGetData, libceed), Cint, (CeedQFunctionContext, CeedMemType, Ptr{Cvoid}), ctx, mem_type, data)
465*ec672a92SWill Paznerend
466*ec672a92SWill Pazner
467*ec672a92SWill Paznerfunction CeedQFunctionContextRestoreData(ctx, data)
468*ec672a92SWill Pazner    ccall((:CeedQFunctionContextRestoreData, libceed), Cint, (CeedQFunctionContext, Ptr{Cvoid}), ctx, data)
469*ec672a92SWill Paznerend
470*ec672a92SWill Pazner
471*ec672a92SWill Paznerfunction CeedQFunctionContextView(ctx, stream)
472*ec672a92SWill Pazner    ccall((:CeedQFunctionContextView, libceed), Cint, (CeedQFunctionContext, Ptr{Libc.FILE}), ctx, stream)
473*ec672a92SWill Paznerend
474*ec672a92SWill Pazner
475*ec672a92SWill Paznerfunction CeedQFunctionContextDestroy(ctx)
476*ec672a92SWill Pazner    ccall((:CeedQFunctionContextDestroy, libceed), Cint, (Ptr{CeedQFunctionContext},), ctx)
477*ec672a92SWill Paznerend
478*ec672a92SWill Pazner
479*ec672a92SWill Paznerfunction CeedOperatorCreate(ceed, qf, dqf, dqfT, op)
480*ec672a92SWill Pazner    ccall((:CeedOperatorCreate, libceed), Cint, (Ceed, CeedQFunction, CeedQFunction, CeedQFunction, Ptr{CeedOperator}), ceed, qf, dqf, dqfT, op)
481*ec672a92SWill Paznerend
482*ec672a92SWill Pazner
483*ec672a92SWill Paznerfunction CeedCompositeOperatorCreate(ceed, op)
484*ec672a92SWill Pazner    ccall((:CeedCompositeOperatorCreate, libceed), Cint, (Ceed, Ptr{CeedOperator}), ceed, op)
485*ec672a92SWill Paznerend
486*ec672a92SWill Pazner
487*ec672a92SWill Paznerfunction CeedOperatorReferenceCopy(op, op_copy)
488*ec672a92SWill Pazner    ccall((:CeedOperatorReferenceCopy, libceed), Cint, (CeedOperator, Ptr{CeedOperator}), op, op_copy)
489*ec672a92SWill Paznerend
490*ec672a92SWill Pazner
491*ec672a92SWill Paznerfunction CeedOperatorSetField(op, field_name, r, b, v)
492*ec672a92SWill Pazner    ccall((:CeedOperatorSetField, libceed), Cint, (CeedOperator, Ptr{Cchar}, CeedElemRestriction, CeedBasis, CeedVector), op, field_name, r, b, v)
493*ec672a92SWill Paznerend
494*ec672a92SWill Pazner
495*ec672a92SWill Paznerfunction CeedCompositeOperatorAddSub(composite_op, sub_op)
496*ec672a92SWill Pazner    ccall((:CeedCompositeOperatorAddSub, libceed), Cint, (CeedOperator, CeedOperator), composite_op, sub_op)
497*ec672a92SWill Paznerend
498*ec672a92SWill Pazner
499*ec672a92SWill Paznerfunction CeedOperatorLinearAssembleQFunction(op, assembled, rstr, request)
500*ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleQFunction, libceed), Cint, (CeedOperator, Ptr{CeedVector}, Ptr{CeedElemRestriction}, Ptr{CeedRequest}), op, assembled, rstr, request)
501*ec672a92SWill Paznerend
502*ec672a92SWill Pazner
503*ec672a92SWill Paznerfunction CeedOperatorLinearAssembleDiagonal(op, assembled, request)
504*ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleDiagonal, libceed), Cint, (CeedOperator, CeedVector, Ptr{CeedRequest}), op, assembled, request)
505*ec672a92SWill Paznerend
506*ec672a92SWill Pazner
507*ec672a92SWill Paznerfunction CeedOperatorLinearAssembleAddDiagonal(op, assembled, request)
508*ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleAddDiagonal, libceed), Cint, (CeedOperator, CeedVector, Ptr{CeedRequest}), op, assembled, request)
509*ec672a92SWill Paznerend
510*ec672a92SWill Pazner
511*ec672a92SWill Paznerfunction CeedOperatorLinearAssemblePointBlockDiagonal(op, assembled, request)
512*ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssemblePointBlockDiagonal, libceed), Cint, (CeedOperator, CeedVector, Ptr{CeedRequest}), op, assembled, request)
513*ec672a92SWill Paznerend
514*ec672a92SWill Pazner
515*ec672a92SWill Paznerfunction CeedOperatorLinearAssembleAddPointBlockDiagonal(op, assembled, request)
516*ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleAddPointBlockDiagonal, libceed), Cint, (CeedOperator, CeedVector, Ptr{CeedRequest}), op, assembled, request)
517*ec672a92SWill Paznerend
518*ec672a92SWill Pazner
519*ec672a92SWill Paznerfunction CeedOperatorLinearAssembleSymbolic(op, num_entries, rows, cols)
520*ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssembleSymbolic, libceed), Cint, (CeedOperator, Ptr{CeedInt}, Ptr{Ptr{CeedInt}}, Ptr{Ptr{CeedInt}}), op, num_entries, rows, cols)
521*ec672a92SWill Paznerend
522*ec672a92SWill Pazner
523*ec672a92SWill Paznerfunction CeedOperatorLinearAssemble(op, values)
524*ec672a92SWill Pazner    ccall((:CeedOperatorLinearAssemble, libceed), Cint, (CeedOperator, CeedVector), op, values)
525*ec672a92SWill Paznerend
526*ec672a92SWill Pazner
527*ec672a92SWill Paznerfunction CeedOperatorMultigridLevelCreate(op_fine, p_mult_fine, rstr_coarse, basis_coarse, op_coarse, op_prolong, op_restrict)
528*ec672a92SWill 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)
529*ec672a92SWill Paznerend
530*ec672a92SWill Pazner
531*ec672a92SWill Paznerfunction CeedOperatorMultigridLevelCreateTensorH1(op_fine, p_mult_fine, rstr_coarse, basis_coarse, interp_c_to_f, op_coarse, op_prolong, op_restrict)
532*ec672a92SWill 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)
533*ec672a92SWill Paznerend
534*ec672a92SWill Pazner
535*ec672a92SWill Paznerfunction CeedOperatorMultigridLevelCreateH1(op_fine, p_mult_fine, rstr_coarse, basis_coarse, interp_c_to_f, op_coarse, op_prolong, op_restrict)
536*ec672a92SWill 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)
537*ec672a92SWill Paznerend
538*ec672a92SWill Pazner
539*ec672a92SWill Paznerfunction CeedOperatorCreateFDMElementInverse(op, fdm_inv, request)
540*ec672a92SWill Pazner    ccall((:CeedOperatorCreateFDMElementInverse, libceed), Cint, (CeedOperator, Ptr{CeedOperator}, Ptr{CeedRequest}), op, fdm_inv, request)
541*ec672a92SWill Paznerend
542*ec672a92SWill Pazner
543*ec672a92SWill Paznerfunction CeedOperatorSetNumQuadraturePoints(op, num_qpts)
544*ec672a92SWill Pazner    ccall((:CeedOperatorSetNumQuadraturePoints, libceed), Cint, (CeedOperator, CeedInt), op, num_qpts)
545*ec672a92SWill Paznerend
546*ec672a92SWill Pazner
547*ec672a92SWill Paznerfunction CeedOperatorView(op, stream)
548*ec672a92SWill Pazner    ccall((:CeedOperatorView, libceed), Cint, (CeedOperator, Ptr{Libc.FILE}), op, stream)
549*ec672a92SWill Paznerend
550*ec672a92SWill Pazner
551*ec672a92SWill Paznerfunction CeedOperatorApply(op, in, out, request)
552*ec672a92SWill Pazner    ccall((:CeedOperatorApply, libceed), Cint, (CeedOperator, CeedVector, CeedVector, Ptr{CeedRequest}), op, in, out, request)
553*ec672a92SWill Paznerend
554*ec672a92SWill Pazner
555*ec672a92SWill Paznerfunction CeedOperatorApplyAdd(op, in, out, request)
556*ec672a92SWill Pazner    ccall((:CeedOperatorApplyAdd, libceed), Cint, (CeedOperator, CeedVector, CeedVector, Ptr{CeedRequest}), op, in, out, request)
557*ec672a92SWill Paznerend
558*ec672a92SWill Pazner
559*ec672a92SWill Paznerfunction CeedOperatorDestroy(op)
560*ec672a92SWill Pazner    ccall((:CeedOperatorDestroy, libceed), Cint, (Ptr{CeedOperator},), op)
561*ec672a92SWill Paznerend
562*ec672a92SWill Pazner
563*ec672a92SWill Paznerfunction CeedIntPow(base, power)
564*ec672a92SWill Pazner    ccall((:CeedIntPow, libceed), CeedInt, (CeedInt, CeedInt), base, power)
565*ec672a92SWill Paznerend
566*ec672a92SWill Pazner
567*ec672a92SWill Paznerfunction CeedIntMin(a, b)
568*ec672a92SWill Pazner    ccall((:CeedIntMin, libceed), CeedInt, (CeedInt, CeedInt), a, b)
569*ec672a92SWill Paznerend
570*ec672a92SWill Pazner
571*ec672a92SWill Paznerfunction CeedIntMax(a, b)
572*ec672a92SWill Pazner    ccall((:CeedIntMax, libceed), CeedInt, (CeedInt, CeedInt), a, b)
573*ec672a92SWill Paznerend
574*ec672a92SWill Pazner
575*ec672a92SWill Paznerfunction CeedRegisterAll()
576*ec672a92SWill Pazner    ccall((:CeedRegisterAll, libceed), Cint, ())
577*ec672a92SWill Paznerend
578*ec672a92SWill Pazner
579*ec672a92SWill Paznerfunction CeedQFunctionRegisterAll()
580*ec672a92SWill Pazner    ccall((:CeedQFunctionRegisterAll, libceed), Cint, ())
581*ec672a92SWill Paznerend
582*ec672a92SWill Pazner
583*ec672a92SWill Paznerfunction CeedQFunctionSetCUDAUserFunction(qf, f)
584*ec672a92SWill Pazner    ccall((:CeedQFunctionSetCUDAUserFunction, libceed), Cint, (CeedQFunction, Cint), qf, f)
585*ec672a92SWill Paznerend
586*ec672a92SWill Pazner
587*ec672a92SWill Pazner# automatic type deduction for variadic arguments may not be what you want, please use with caution
588*ec672a92SWill Pazner@generated function CeedDebugImpl(arg1, arg2, va_list...)
589*ec672a92SWill Pazner        :(@ccall(libceed.CeedDebugImpl(arg1::Ceed, arg2::Ptr{Cchar}; $(to_c_type_pairs(va_list)...))::Cvoid))
590*ec672a92SWill Pazner    end
591*ec672a92SWill Pazner
592*ec672a92SWill Pazner# automatic type deduction for variadic arguments may not be what you want, please use with caution
593*ec672a92SWill Pazner@generated function CeedDebugImpl256(arg1, arg2, arg3, va_list...)
594*ec672a92SWill Pazner        :(@ccall(libceed.CeedDebugImpl256(arg1::Ceed, arg2::Cuchar, arg3::Ptr{Cchar}; $(to_c_type_pairs(va_list)...))::Cvoid))
595*ec672a92SWill Pazner    end
596*ec672a92SWill Pazner
597*ec672a92SWill Paznermutable struct CeedTensorContract_private end
598*ec672a92SWill Pazner
599*ec672a92SWill Paznerconst CeedTensorContract = Ptr{CeedTensorContract_private}
600*ec672a92SWill Pazner
601*ec672a92SWill Paznerfunction CeedMallocArray(n, unit, p)
602*ec672a92SWill Pazner    ccall((:CeedMallocArray, libceed), Cint, (Csize_t, Csize_t, Ptr{Cvoid}), n, unit, p)
603*ec672a92SWill Paznerend
604*ec672a92SWill Pazner
605*ec672a92SWill Paznerfunction CeedCallocArray(n, unit, p)
606*ec672a92SWill Pazner    ccall((:CeedCallocArray, libceed), Cint, (Csize_t, Csize_t, Ptr{Cvoid}), n, unit, p)
607*ec672a92SWill Paznerend
608*ec672a92SWill Pazner
609*ec672a92SWill Paznerfunction CeedReallocArray(n, unit, p)
610*ec672a92SWill Pazner    ccall((:CeedReallocArray, libceed), Cint, (Csize_t, Csize_t, Ptr{Cvoid}), n, unit, p)
611*ec672a92SWill Paznerend
612*ec672a92SWill Pazner
613*ec672a92SWill Paznerfunction CeedFree(p)
614*ec672a92SWill Pazner    ccall((:CeedFree, libceed), Cint, (Ptr{Cvoid},), p)
615*ec672a92SWill Paznerend
616*ec672a92SWill Pazner
617*ec672a92SWill Paznermutable struct CeedQFunctionField_private end
618*ec672a92SWill Pazner
619*ec672a92SWill Paznerconst CeedQFunctionField = Ptr{CeedQFunctionField_private}
620*ec672a92SWill Pazner
621*ec672a92SWill Paznermutable struct CeedOperatorField_private end
622*ec672a92SWill Pazner
623*ec672a92SWill Paznerconst CeedOperatorField = Ptr{CeedOperatorField_private}
624*ec672a92SWill Pazner
625*ec672a92SWill Paznerfunction CeedRegister(prefix, init, priority)
626*ec672a92SWill Pazner    ccall((:CeedRegister, libceed), Cint, (Ptr{Cchar}, Ptr{Cvoid}, Cuint), prefix, init, priority)
627*ec672a92SWill Paznerend
628*ec672a92SWill Pazner
629*ec672a92SWill Paznerfunction CeedIsDebug(ceed, is_debug)
630*ec672a92SWill Pazner    ccall((:CeedIsDebug, libceed), Cint, (Ceed, Ptr{Bool}), ceed, is_debug)
631*ec672a92SWill Paznerend
632*ec672a92SWill Pazner
633*ec672a92SWill Paznerfunction CeedGetParent(ceed, parent)
634*ec672a92SWill Pazner    ccall((:CeedGetParent, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, parent)
635*ec672a92SWill Paznerend
636*ec672a92SWill Pazner
637*ec672a92SWill Paznerfunction CeedGetDelegate(ceed, delegate)
638*ec672a92SWill Pazner    ccall((:CeedGetDelegate, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, delegate)
639*ec672a92SWill Paznerend
640*ec672a92SWill Pazner
641*ec672a92SWill Paznerfunction CeedSetDelegate(ceed, delegate)
642*ec672a92SWill Pazner    ccall((:CeedSetDelegate, libceed), Cint, (Ceed, Ceed), ceed, delegate)
643*ec672a92SWill Paznerend
644*ec672a92SWill Pazner
645*ec672a92SWill Paznerfunction CeedGetObjectDelegate(ceed, delegate, obj_name)
646*ec672a92SWill Pazner    ccall((:CeedGetObjectDelegate, libceed), Cint, (Ceed, Ptr{Ceed}, Ptr{Cchar}), ceed, delegate, obj_name)
647*ec672a92SWill Paznerend
648*ec672a92SWill Pazner
649*ec672a92SWill Paznerfunction CeedSetObjectDelegate(ceed, delegate, obj_name)
650*ec672a92SWill Pazner    ccall((:CeedSetObjectDelegate, libceed), Cint, (Ceed, Ceed, Ptr{Cchar}), ceed, delegate, obj_name)
651*ec672a92SWill Paznerend
652*ec672a92SWill Pazner
653*ec672a92SWill Paznerfunction CeedGetOperatorFallbackResource(ceed, resource)
654*ec672a92SWill Pazner    ccall((:CeedGetOperatorFallbackResource, libceed), Cint, (Ceed, Ptr{Ptr{Cchar}}), ceed, resource)
655*ec672a92SWill Paznerend
656*ec672a92SWill Pazner
657*ec672a92SWill Paznerfunction CeedSetOperatorFallbackResource(ceed, resource)
658*ec672a92SWill Pazner    ccall((:CeedSetOperatorFallbackResource, libceed), Cint, (Ceed, Ptr{Cchar}), ceed, resource)
659*ec672a92SWill Paznerend
660*ec672a92SWill Pazner
661*ec672a92SWill Paznerfunction CeedGetOperatorFallbackParentCeed(ceed, parent)
662*ec672a92SWill Pazner    ccall((:CeedGetOperatorFallbackParentCeed, libceed), Cint, (Ceed, Ptr{Ceed}), ceed, parent)
663*ec672a92SWill Paznerend
664*ec672a92SWill Pazner
665*ec672a92SWill Paznerfunction CeedSetDeterministic(ceed, is_deterministic)
666*ec672a92SWill Pazner    ccall((:CeedSetDeterministic, libceed), Cint, (Ceed, Bool), ceed, is_deterministic)
667*ec672a92SWill Paznerend
668*ec672a92SWill Pazner
669*ec672a92SWill Paznerfunction CeedSetBackendFunction(ceed, type, object, func_name, f)
670*ec672a92SWill Pazner    ccall((:CeedSetBackendFunction, libceed), Cint, (Ceed, Ptr{Cchar}, Ptr{Cvoid}, Ptr{Cchar}, Ptr{Cvoid}), ceed, type, object, func_name, f)
671*ec672a92SWill Paznerend
672*ec672a92SWill Pazner
673*ec672a92SWill Paznerfunction CeedGetData(ceed, data)
674*ec672a92SWill Pazner    ccall((:CeedGetData, libceed), Cint, (Ceed, Ptr{Cvoid}), ceed, data)
675*ec672a92SWill Paznerend
676*ec672a92SWill Pazner
677*ec672a92SWill Paznerfunction CeedSetData(ceed, data)
678*ec672a92SWill Pazner    ccall((:CeedSetData, libceed), Cint, (Ceed, Ptr{Cvoid}), ceed, data)
679*ec672a92SWill Paznerend
680*ec672a92SWill Pazner
681*ec672a92SWill Paznerfunction CeedReference(ceed)
682*ec672a92SWill Pazner    ccall((:CeedReference, libceed), Cint, (Ceed,), ceed)
683*ec672a92SWill Paznerend
684*ec672a92SWill Pazner
685*ec672a92SWill Paznerfunction CeedVectorGetCeed(vec, ceed)
686*ec672a92SWill Pazner    ccall((:CeedVectorGetCeed, libceed), Cint, (CeedVector, Ptr{Ceed}), vec, ceed)
687*ec672a92SWill Paznerend
688*ec672a92SWill Pazner
689*ec672a92SWill Paznerfunction CeedVectorGetState(vec, state)
690*ec672a92SWill Pazner    ccall((:CeedVectorGetState, libceed), Cint, (CeedVector, Ptr{UInt64}), vec, state)
691*ec672a92SWill Paznerend
692*ec672a92SWill Pazner
693*ec672a92SWill Paznerfunction CeedVectorAddReference(vec)
694*ec672a92SWill Pazner    ccall((:CeedVectorAddReference, libceed), Cint, (CeedVector,), vec)
695*ec672a92SWill Paznerend
696*ec672a92SWill Pazner
697*ec672a92SWill Paznerfunction CeedVectorGetData(vec, data)
698*ec672a92SWill Pazner    ccall((:CeedVectorGetData, libceed), Cint, (CeedVector, Ptr{Cvoid}), vec, data)
699*ec672a92SWill Paznerend
700*ec672a92SWill Pazner
701*ec672a92SWill Paznerfunction CeedVectorSetData(vec, data)
702*ec672a92SWill Pazner    ccall((:CeedVectorSetData, libceed), Cint, (CeedVector, Ptr{Cvoid}), vec, data)
703*ec672a92SWill Paznerend
704*ec672a92SWill Pazner
705*ec672a92SWill Paznerfunction CeedVectorReference(vec)
706*ec672a92SWill Pazner    ccall((:CeedVectorReference, libceed), Cint, (CeedVector,), vec)
707*ec672a92SWill Paznerend
708*ec672a92SWill Pazner
709*ec672a92SWill Paznerfunction CeedElemRestrictionGetCeed(rstr, ceed)
710*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetCeed, libceed), Cint, (CeedElemRestriction, Ptr{Ceed}), rstr, ceed)
711*ec672a92SWill Paznerend
712*ec672a92SWill Pazner
713*ec672a92SWill Paznerfunction CeedElemRestrictionGetStrides(rstr, strides)
714*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetStrides, libceed), Cint, (CeedElemRestriction, Ptr{NTuple{3, CeedInt}}), rstr, strides)
715*ec672a92SWill Paznerend
716*ec672a92SWill Pazner
717*ec672a92SWill Paznerfunction CeedElemRestrictionGetOffsets(rstr, mem_type, offsets)
718*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetOffsets, libceed), Cint, (CeedElemRestriction, CeedMemType, Ptr{Ptr{CeedInt}}), rstr, mem_type, offsets)
719*ec672a92SWill Paznerend
720*ec672a92SWill Pazner
721*ec672a92SWill Paznerfunction CeedElemRestrictionRestoreOffsets(rstr, offsets)
722*ec672a92SWill Pazner    ccall((:CeedElemRestrictionRestoreOffsets, libceed), Cint, (CeedElemRestriction, Ptr{Ptr{CeedInt}}), rstr, offsets)
723*ec672a92SWill Paznerend
724*ec672a92SWill Pazner
725*ec672a92SWill Paznerfunction CeedElemRestrictionIsStrided(rstr, is_strided)
726*ec672a92SWill Pazner    ccall((:CeedElemRestrictionIsStrided, libceed), Cint, (CeedElemRestriction, Ptr{Bool}), rstr, is_strided)
727*ec672a92SWill Paznerend
728*ec672a92SWill Pazner
729*ec672a92SWill Paznerfunction CeedElemRestrictionHasBackendStrides(rstr, has_backend_strides)
730*ec672a92SWill Pazner    ccall((:CeedElemRestrictionHasBackendStrides, libceed), Cint, (CeedElemRestriction, Ptr{Bool}), rstr, has_backend_strides)
731*ec672a92SWill Paznerend
732*ec672a92SWill Pazner
733*ec672a92SWill Paznerfunction CeedElemRestrictionGetELayout(rstr, layout)
734*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetELayout, libceed), Cint, (CeedElemRestriction, Ptr{NTuple{3, CeedInt}}), rstr, layout)
735*ec672a92SWill Paznerend
736*ec672a92SWill Pazner
737*ec672a92SWill Paznerfunction CeedElemRestrictionSetELayout(rstr, layout)
738*ec672a92SWill Pazner    ccall((:CeedElemRestrictionSetELayout, libceed), Cint, (CeedElemRestriction, Ptr{CeedInt}), rstr, layout)
739*ec672a92SWill Paznerend
740*ec672a92SWill Pazner
741*ec672a92SWill Paznerfunction CeedElemRestrictionGetData(rstr, data)
742*ec672a92SWill Pazner    ccall((:CeedElemRestrictionGetData, libceed), Cint, (CeedElemRestriction, Ptr{Cvoid}), rstr, data)
743*ec672a92SWill Paznerend
744*ec672a92SWill Pazner
745*ec672a92SWill Paznerfunction CeedElemRestrictionSetData(rstr, data)
746*ec672a92SWill Pazner    ccall((:CeedElemRestrictionSetData, libceed), Cint, (CeedElemRestriction, Ptr{Cvoid}), rstr, data)
747*ec672a92SWill Paznerend
748*ec672a92SWill Pazner
749*ec672a92SWill Paznerfunction CeedElemRestrictionReference(rstr)
750*ec672a92SWill Pazner    ccall((:CeedElemRestrictionReference, libceed), Cint, (CeedElemRestriction,), rstr)
751*ec672a92SWill Paznerend
752*ec672a92SWill Pazner
753*ec672a92SWill Paznerfunction CeedBasisGetCollocatedGrad(basis, colo_grad_1d)
754*ec672a92SWill Pazner    ccall((:CeedBasisGetCollocatedGrad, libceed), Cint, (CeedBasis, Ptr{CeedScalar}), basis, colo_grad_1d)
755*ec672a92SWill Paznerend
756*ec672a92SWill Pazner
757*ec672a92SWill Paznerfunction CeedHouseholderApplyQ(A, Q, tau, t_mode, m, n, k, row, col)
758*ec672a92SWill 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)
759*ec672a92SWill Paznerend
760*ec672a92SWill Pazner
761*ec672a92SWill Paznerfunction CeedBasisGetCeed(basis, ceed)
762*ec672a92SWill Pazner    ccall((:CeedBasisGetCeed, libceed), Cint, (CeedBasis, Ptr{Ceed}), basis, ceed)
763*ec672a92SWill Paznerend
764*ec672a92SWill Pazner
765*ec672a92SWill Paznerfunction CeedBasisIsTensor(basis, is_tensor)
766*ec672a92SWill Pazner    ccall((:CeedBasisIsTensor, libceed), Cint, (CeedBasis, Ptr{Bool}), basis, is_tensor)
767*ec672a92SWill Paznerend
768*ec672a92SWill Pazner
769*ec672a92SWill Paznerfunction CeedBasisGetData(basis, data)
770*ec672a92SWill Pazner    ccall((:CeedBasisGetData, libceed), Cint, (CeedBasis, Ptr{Cvoid}), basis, data)
771*ec672a92SWill Paznerend
772*ec672a92SWill Pazner
773*ec672a92SWill Paznerfunction CeedBasisSetData(basis, data)
774*ec672a92SWill Pazner    ccall((:CeedBasisSetData, libceed), Cint, (CeedBasis, Ptr{Cvoid}), basis, data)
775*ec672a92SWill Paznerend
776*ec672a92SWill Pazner
777*ec672a92SWill Paznerfunction CeedBasisReference(basis)
778*ec672a92SWill Pazner    ccall((:CeedBasisReference, libceed), Cint, (CeedBasis,), basis)
779*ec672a92SWill Paznerend
780*ec672a92SWill Pazner
781*ec672a92SWill Paznerfunction CeedBasisGetTopologyDimension(topo, dim)
782*ec672a92SWill Pazner    ccall((:CeedBasisGetTopologyDimension, libceed), Cint, (CeedElemTopology, Ptr{CeedInt}), topo, dim)
783*ec672a92SWill Paznerend
784*ec672a92SWill Pazner
785*ec672a92SWill Paznerfunction CeedBasisGetTensorContract(basis, contract)
786*ec672a92SWill Pazner    ccall((:CeedBasisGetTensorContract, libceed), Cint, (CeedBasis, Ptr{CeedTensorContract}), basis, contract)
787*ec672a92SWill Paznerend
788*ec672a92SWill Pazner
789*ec672a92SWill Paznerfunction CeedBasisSetTensorContract(basis, contract)
790*ec672a92SWill Pazner    ccall((:CeedBasisSetTensorContract, libceed), Cint, (CeedBasis, CeedTensorContract), basis, contract)
791*ec672a92SWill Paznerend
792*ec672a92SWill Pazner
793*ec672a92SWill Paznerfunction CeedTensorContractCreate(ceed, basis, contract)
794*ec672a92SWill Pazner    ccall((:CeedTensorContractCreate, libceed), Cint, (Ceed, CeedBasis, Ptr{CeedTensorContract}), ceed, basis, contract)
795*ec672a92SWill Paznerend
796*ec672a92SWill Pazner
797*ec672a92SWill Paznerfunction CeedTensorContractApply(contract, A, B, C, J, t, t_mode, Add, u, v)
798*ec672a92SWill 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)
799*ec672a92SWill Paznerend
800*ec672a92SWill Pazner
801*ec672a92SWill Paznerfunction CeedTensorContractGetCeed(contract, ceed)
802*ec672a92SWill Pazner    ccall((:CeedTensorContractGetCeed, libceed), Cint, (CeedTensorContract, Ptr{Ceed}), contract, ceed)
803*ec672a92SWill Paznerend
804*ec672a92SWill Pazner
805*ec672a92SWill Paznerfunction CeedTensorContractGetData(contract, data)
806*ec672a92SWill Pazner    ccall((:CeedTensorContractGetData, libceed), Cint, (CeedTensorContract, Ptr{Cvoid}), contract, data)
807*ec672a92SWill Paznerend
808*ec672a92SWill Pazner
809*ec672a92SWill Paznerfunction CeedTensorContractSetData(contract, data)
810*ec672a92SWill Pazner    ccall((:CeedTensorContractSetData, libceed), Cint, (CeedTensorContract, Ptr{Cvoid}), contract, data)
811*ec672a92SWill Paznerend
812*ec672a92SWill Pazner
813*ec672a92SWill Paznerfunction CeedTensorContractReference(contract)
814*ec672a92SWill Pazner    ccall((:CeedTensorContractReference, libceed), Cint, (CeedTensorContract,), contract)
815*ec672a92SWill Paznerend
816*ec672a92SWill Pazner
817*ec672a92SWill Paznerfunction CeedTensorContractDestroy(contract)
818*ec672a92SWill Pazner    ccall((:CeedTensorContractDestroy, libceed), Cint, (Ptr{CeedTensorContract},), contract)
819*ec672a92SWill Paznerend
820*ec672a92SWill Pazner
821*ec672a92SWill Paznerfunction CeedQFunctionRegister(arg1, arg2, arg3, arg4, init)
822*ec672a92SWill Pazner    ccall((:CeedQFunctionRegister, libceed), Cint, (Ptr{Cchar}, Ptr{Cchar}, CeedInt, CeedQFunctionUser, Ptr{Cvoid}), arg1, arg2, arg3, arg4, init)
823*ec672a92SWill Paznerend
824*ec672a92SWill Pazner
825*ec672a92SWill Paznerfunction CeedQFunctionSetFortranStatus(qf, status)
826*ec672a92SWill Pazner    ccall((:CeedQFunctionSetFortranStatus, libceed), Cint, (CeedQFunction, Bool), qf, status)
827*ec672a92SWill Paznerend
828*ec672a92SWill Pazner
829*ec672a92SWill Paznerfunction CeedQFunctionGetCeed(qf, ceed)
830*ec672a92SWill Pazner    ccall((:CeedQFunctionGetCeed, libceed), Cint, (CeedQFunction, Ptr{Ceed}), qf, ceed)
831*ec672a92SWill Paznerend
832*ec672a92SWill Pazner
833*ec672a92SWill Paznerfunction CeedQFunctionGetVectorLength(qf, vec_length)
834*ec672a92SWill Pazner    ccall((:CeedQFunctionGetVectorLength, libceed), Cint, (CeedQFunction, Ptr{CeedInt}), qf, vec_length)
835*ec672a92SWill Paznerend
836*ec672a92SWill Pazner
837*ec672a92SWill Paznerfunction CeedQFunctionGetNumArgs(qf, num_input_fields, num_output_fields)
838*ec672a92SWill Pazner    ccall((:CeedQFunctionGetNumArgs, libceed), Cint, (CeedQFunction, Ptr{CeedInt}, Ptr{CeedInt}), qf, num_input_fields, num_output_fields)
839*ec672a92SWill Paznerend
840*ec672a92SWill Pazner
841*ec672a92SWill Paznerfunction CeedQFunctionGetSourcePath(qf, source)
842*ec672a92SWill Pazner    ccall((:CeedQFunctionGetSourcePath, libceed), Cint, (CeedQFunction, Ptr{Ptr{Cchar}}), qf, source)
843*ec672a92SWill Paznerend
844*ec672a92SWill Pazner
845*ec672a92SWill Paznerfunction CeedQFunctionGetUserFunction(qf, f)
846*ec672a92SWill Pazner    ccall((:CeedQFunctionGetUserFunction, libceed), Cint, (CeedQFunction, Ptr{CeedQFunctionUser}), qf, f)
847*ec672a92SWill Paznerend
848*ec672a92SWill Pazner
849*ec672a92SWill Paznerfunction CeedQFunctionGetContext(qf, ctx)
850*ec672a92SWill Pazner    ccall((:CeedQFunctionGetContext, libceed), Cint, (CeedQFunction, Ptr{CeedQFunctionContext}), qf, ctx)
851*ec672a92SWill Paznerend
852*ec672a92SWill Pazner
853*ec672a92SWill Paznerfunction CeedQFunctionGetInnerContext(qf, ctx)
854*ec672a92SWill Pazner    ccall((:CeedQFunctionGetInnerContext, libceed), Cint, (CeedQFunction, Ptr{CeedQFunctionContext}), qf, ctx)
855*ec672a92SWill Paznerend
856*ec672a92SWill Pazner
857*ec672a92SWill Paznerfunction CeedQFunctionIsIdentity(qf, is_identity)
858*ec672a92SWill Pazner    ccall((:CeedQFunctionIsIdentity, libceed), Cint, (CeedQFunction, Ptr{Bool}), qf, is_identity)
859*ec672a92SWill Paznerend
860*ec672a92SWill Pazner
861*ec672a92SWill Paznerfunction CeedQFunctionGetData(qf, data)
862*ec672a92SWill Pazner    ccall((:CeedQFunctionGetData, libceed), Cint, (CeedQFunction, Ptr{Cvoid}), qf, data)
863*ec672a92SWill Paznerend
864*ec672a92SWill Pazner
865*ec672a92SWill Paznerfunction CeedQFunctionSetData(qf, data)
866*ec672a92SWill Pazner    ccall((:CeedQFunctionSetData, libceed), Cint, (CeedQFunction, Ptr{Cvoid}), qf, data)
867*ec672a92SWill Paznerend
868*ec672a92SWill Pazner
869*ec672a92SWill Paznerfunction CeedQFunctionReference(qf)
870*ec672a92SWill Pazner    ccall((:CeedQFunctionReference, libceed), Cint, (CeedQFunction,), qf)
871*ec672a92SWill Paznerend
872*ec672a92SWill Pazner
873*ec672a92SWill Paznerfunction CeedQFunctionGetFields(qf, input_fields, output_fields)
874*ec672a92SWill Pazner    ccall((:CeedQFunctionGetFields, libceed), Cint, (CeedQFunction, Ptr{Ptr{CeedQFunctionField}}, Ptr{Ptr{CeedQFunctionField}}), qf, input_fields, output_fields)
875*ec672a92SWill Paznerend
876*ec672a92SWill Pazner
877*ec672a92SWill Paznerfunction CeedQFunctionFieldGetName(qf_field, field_name)
878*ec672a92SWill Pazner    ccall((:CeedQFunctionFieldGetName, libceed), Cint, (CeedQFunctionField, Ptr{Ptr{Cchar}}), qf_field, field_name)
879*ec672a92SWill Paznerend
880*ec672a92SWill Pazner
881*ec672a92SWill Paznerfunction CeedQFunctionFieldGetSize(qf_field, size)
882*ec672a92SWill Pazner    ccall((:CeedQFunctionFieldGetSize, libceed), Cint, (CeedQFunctionField, Ptr{CeedInt}), qf_field, size)
883*ec672a92SWill Paznerend
884*ec672a92SWill Pazner
885*ec672a92SWill Paznerfunction CeedQFunctionFieldGetEvalMode(qf_field, eval_mode)
886*ec672a92SWill Pazner    ccall((:CeedQFunctionFieldGetEvalMode, libceed), Cint, (CeedQFunctionField, Ptr{CeedEvalMode}), qf_field, eval_mode)
887*ec672a92SWill Paznerend
888*ec672a92SWill Pazner
889*ec672a92SWill Paznerfunction CeedQFunctionContextGetCeed(cxt, ceed)
890*ec672a92SWill Pazner    ccall((:CeedQFunctionContextGetCeed, libceed), Cint, (CeedQFunctionContext, Ptr{Ceed}), cxt, ceed)
891*ec672a92SWill Paznerend
892*ec672a92SWill Pazner
893*ec672a92SWill Paznerfunction CeedQFunctionContextGetState(ctx, state)
894*ec672a92SWill Pazner    ccall((:CeedQFunctionContextGetState, libceed), Cint, (CeedQFunctionContext, Ptr{UInt64}), ctx, state)
895*ec672a92SWill Paznerend
896*ec672a92SWill Pazner
897*ec672a92SWill Paznerfunction CeedQFunctionContextGetContextSize(ctx, ctx_size)
898*ec672a92SWill Pazner    ccall((:CeedQFunctionContextGetContextSize, libceed), Cint, (CeedQFunctionContext, Ptr{Csize_t}), ctx, ctx_size)
899*ec672a92SWill Paznerend
900*ec672a92SWill Pazner
901*ec672a92SWill Paznerfunction CeedQFunctionContextGetBackendData(ctx, data)
902*ec672a92SWill Pazner    ccall((:CeedQFunctionContextGetBackendData, libceed), Cint, (CeedQFunctionContext, Ptr{Cvoid}), ctx, data)
903*ec672a92SWill Paznerend
904*ec672a92SWill Pazner
905*ec672a92SWill Paznerfunction CeedQFunctionContextSetBackendData(ctx, data)
906*ec672a92SWill Pazner    ccall((:CeedQFunctionContextSetBackendData, libceed), Cint, (CeedQFunctionContext, Ptr{Cvoid}), ctx, data)
907*ec672a92SWill Paznerend
908*ec672a92SWill Pazner
909*ec672a92SWill Paznerfunction CeedQFunctionContextReference(ctx)
910*ec672a92SWill Pazner    ccall((:CeedQFunctionContextReference, libceed), Cint, (CeedQFunctionContext,), ctx)
911*ec672a92SWill Paznerend
912*ec672a92SWill Pazner
913*ec672a92SWill Paznerfunction CeedOperatorGetCeed(op, ceed)
914*ec672a92SWill Pazner    ccall((:CeedOperatorGetCeed, libceed), Cint, (CeedOperator, Ptr{Ceed}), op, ceed)
915*ec672a92SWill Paznerend
916*ec672a92SWill Pazner
917*ec672a92SWill Paznerfunction CeedOperatorGetNumElements(op, num_elem)
918*ec672a92SWill Pazner    ccall((:CeedOperatorGetNumElements, libceed), Cint, (CeedOperator, Ptr{CeedInt}), op, num_elem)
919*ec672a92SWill Paznerend
920*ec672a92SWill Pazner
921*ec672a92SWill Paznerfunction CeedOperatorGetNumQuadraturePoints(op, num_qpts)
922*ec672a92SWill Pazner    ccall((:CeedOperatorGetNumQuadraturePoints, libceed), Cint, (CeedOperator, Ptr{CeedInt}), op, num_qpts)
923*ec672a92SWill Paznerend
924*ec672a92SWill Pazner
925*ec672a92SWill Paznerfunction CeedOperatorGetNumArgs(op, num_args)
926*ec672a92SWill Pazner    ccall((:CeedOperatorGetNumArgs, libceed), Cint, (CeedOperator, Ptr{CeedInt}), op, num_args)
927*ec672a92SWill Paznerend
928*ec672a92SWill Pazner
929*ec672a92SWill Paznerfunction CeedOperatorIsSetupDone(op, is_setup_done)
930*ec672a92SWill Pazner    ccall((:CeedOperatorIsSetupDone, libceed), Cint, (CeedOperator, Ptr{Bool}), op, is_setup_done)
931*ec672a92SWill Paznerend
932*ec672a92SWill Pazner
933*ec672a92SWill Paznerfunction CeedOperatorGetQFunction(op, qf)
934*ec672a92SWill Pazner    ccall((:CeedOperatorGetQFunction, libceed), Cint, (CeedOperator, Ptr{CeedQFunction}), op, qf)
935*ec672a92SWill Paznerend
936*ec672a92SWill Pazner
937*ec672a92SWill Paznerfunction CeedOperatorIsComposite(op, is_composite)
938*ec672a92SWill Pazner    ccall((:CeedOperatorIsComposite, libceed), Cint, (CeedOperator, Ptr{Bool}), op, is_composite)
939*ec672a92SWill Paznerend
940*ec672a92SWill Pazner
941*ec672a92SWill Paznerfunction CeedOperatorGetNumSub(op, num_suboperators)
942*ec672a92SWill Pazner    ccall((:CeedOperatorGetNumSub, libceed), Cint, (CeedOperator, Ptr{CeedInt}), op, num_suboperators)
943*ec672a92SWill Paznerend
944*ec672a92SWill Pazner
945*ec672a92SWill Paznerfunction CeedOperatorGetSubList(op, sub_operators)
946*ec672a92SWill Pazner    ccall((:CeedOperatorGetSubList, libceed), Cint, (CeedOperator, Ptr{Ptr{CeedOperator}}), op, sub_operators)
947*ec672a92SWill Paznerend
948*ec672a92SWill Pazner
949*ec672a92SWill Paznerfunction CeedOperatorGetData(op, data)
950*ec672a92SWill Pazner    ccall((:CeedOperatorGetData, libceed), Cint, (CeedOperator, Ptr{Cvoid}), op, data)
951*ec672a92SWill Paznerend
952*ec672a92SWill Pazner
953*ec672a92SWill Paznerfunction CeedOperatorSetData(op, data)
954*ec672a92SWill Pazner    ccall((:CeedOperatorSetData, libceed), Cint, (CeedOperator, Ptr{Cvoid}), op, data)
955*ec672a92SWill Paznerend
956*ec672a92SWill Pazner
957*ec672a92SWill Paznerfunction CeedOperatorReference(op)
958*ec672a92SWill Pazner    ccall((:CeedOperatorReference, libceed), Cint, (CeedOperator,), op)
959*ec672a92SWill Paznerend
960*ec672a92SWill Pazner
961*ec672a92SWill Paznerfunction CeedOperatorSetSetupDone(op)
962*ec672a92SWill Pazner    ccall((:CeedOperatorSetSetupDone, libceed), Cint, (CeedOperator,), op)
963*ec672a92SWill Paznerend
964*ec672a92SWill Pazner
965*ec672a92SWill Paznerfunction CeedOperatorGetFields(op, input_fields, output_fields)
966*ec672a92SWill Pazner    ccall((:CeedOperatorGetFields, libceed), Cint, (CeedOperator, Ptr{Ptr{CeedOperatorField}}, Ptr{Ptr{CeedOperatorField}}), op, input_fields, output_fields)
967*ec672a92SWill Paznerend
968*ec672a92SWill Pazner
969*ec672a92SWill Paznerfunction CeedOperatorFieldGetElemRestriction(op_field, rstr)
970*ec672a92SWill Pazner    ccall((:CeedOperatorFieldGetElemRestriction, libceed), Cint, (CeedOperatorField, Ptr{CeedElemRestriction}), op_field, rstr)
971*ec672a92SWill Paznerend
972*ec672a92SWill Pazner
973*ec672a92SWill Paznerfunction CeedOperatorFieldGetBasis(op_field, basis)
974*ec672a92SWill Pazner    ccall((:CeedOperatorFieldGetBasis, libceed), Cint, (CeedOperatorField, Ptr{CeedBasis}), op_field, basis)
975*ec672a92SWill Paznerend
976*ec672a92SWill Pazner
977*ec672a92SWill Paznerfunction CeedOperatorFieldGetVector(op_field, vec)
978*ec672a92SWill Pazner    ccall((:CeedOperatorFieldGetVector, libceed), Cint, (CeedOperatorField, Ptr{CeedVector}), op_field, vec)
979*ec672a92SWill Paznerend
980*ec672a92SWill Pazner
981*ec672a92SWill Paznerfunction CeedMatrixMultiply(ceed, mat_A, mat_B, mat_C, m, n, kk)
982*ec672a92SWill Pazner    ccall((:CeedMatrixMultiply, libceed), Cint, (Ceed, Ptr{CeedScalar}, Ptr{CeedScalar}, Ptr{CeedScalar}, CeedInt, CeedInt, CeedInt), ceed, mat_A, mat_B, mat_C, m, n, kk)
983*ec672a92SWill Paznerend
984*ec672a92SWill Pazner
985*ec672a92SWill Pazner# Skipping MacroDefinition: CEED_EXTERN extern
986*ec672a92SWill Pazner
987*ec672a92SWill Pazner# Skipping MacroDefinition: CEED_QFUNCTION_HELPER static inline
988*ec672a92SWill Pazner
989*ec672a92SWill Paznerconst CEED_VERSION_MAJOR = 0
990*ec672a92SWill Pazner
991*ec672a92SWill Paznerconst CEED_VERSION_MINOR = 9
992*ec672a92SWill Pazner
993*ec672a92SWill Paznerconst CEED_VERSION_PATCH = 0
994*ec672a92SWill Pazner
995*ec672a92SWill Paznerconst CEED_VERSION_RELEASE = false
996*ec672a92SWill Pazner
997*ec672a92SWill Pazner# Skipping MacroDefinition: CEED_INTERN CEED_EXTERN __attribute__ ( ( visibility ( "hidden" ) ) )
998*ec672a92SWill Pazner
999*ec672a92SWill Pazner# Skipping MacroDefinition: CEED_UNUSED __attribute__ ( ( unused ) )
1000*ec672a92SWill Pazner
1001*ec672a92SWill Paznerconst CEED_MAX_RESOURCE_LEN = 1024
1002*ec672a92SWill Pazner
1003*ec672a92SWill Paznerconst CEED_MAX_BACKEND_PRIORITY = UINT_MAX
1004*ec672a92SWill Pazner
1005*ec672a92SWill Paznerconst CEED_ALIGN = 64
1006*ec672a92SWill Pazner
1007*ec672a92SWill Paznerconst CEED_COMPOSITE_MAX = 16
1008*ec672a92SWill Pazner
1009*ec672a92SWill Paznerconst CEED_EPSILON = 1.0e-16
1010*ec672a92SWill Pazner
1011*ec672a92SWill Pazner# Skipping MacroDefinition: CeedPragmaOptimizeOff _Pragma ( "clang optimize off" )
1012*ec672a92SWill Pazner
1013*ec672a92SWill Pazner# Skipping MacroDefinition: CeedPragmaOptimizeOn _Pragma ( "clang optimize on" )
1014*ec672a92SWill Pazner
1015*ec672a92SWill Paznerconst CEED_DEBUG_COLOR = 0
1016