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