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