144554ea0SWill Pazner# Low-level C API for libCEED 244554ea0SWill Pazner 344554ea0SWill Paznermodule C 444554ea0SWill Pazner 580a9ef05SNatalie Beamsusing Libdl, libCEED_jll, Preferences 680a9ef05SNatalie Beamsusing libCEED_jll: libceed, libceed_handle 744554ea0SWill Pazner 880a9ef05SNatalie Beamsconst CeedScalar = 980a9ef05SNatalie Beams @load_preference("CeedScalar", "Float64") == "Float64" ? Float64 : Float32 10ec672a92SWill Paznerconst UINT_MAX = typemax(Cuint) 11ec672a92SWill Paznerinclude(joinpath(@__DIR__, "generated", "libceed_bindings.jl")) 1244554ea0SWill Pazner 1344554ea0SWill Paznerconst CEED_STRIDES_BACKEND = Ref{Ptr{CeedInt}}() 14356036faSJeremy L Thompsonconst CEED_BASIS_NONE = Ref{CeedBasis}() 1544554ea0SWill Paznerconst CEED_VECTOR_ACTIVE = Ref{CeedVector}() 1644554ea0SWill Paznerconst CEED_VECTOR_NONE = Ref{CeedVector}() 1744554ea0SWill Paznerconst CEED_ELEMRESTRICTION_NONE = Ref{CeedElemRestriction}() 1844554ea0SWill Paznerconst CEED_QFUNCTION_NONE = Ref{CeedQFunction}() 1944554ea0SWill Paznerconst CEED_REQUEST_IMMEDIATE = Ref{CeedRequest}() 2044554ea0SWill Paznerconst CEED_REQUEST_ORDERED = Ref{CeedRequest}() 2144554ea0SWill Pazner 2244554ea0SWill Paznerfunction __init__() 2344554ea0SWill Pazner # some global variables 2444554ea0SWill Pazner CEED_STRIDES_BACKEND[] = cglobal((:CEED_STRIDES_BACKEND, libceed)) 25*a36217cbSJeremy L Thompson CEED_BASIS_NONE[] = unsafe_load(cglobal((:CEED_BASIS_NONE, libceed), CeedBasis)) 2644554ea0SWill Pazner CEED_VECTOR_ACTIVE[] = unsafe_load(cglobal((:CEED_VECTOR_ACTIVE, libceed), CeedVector)) 2744554ea0SWill Pazner CEED_VECTOR_NONE[] = unsafe_load(cglobal((:CEED_VECTOR_NONE, libceed), CeedVector)) 2844554ea0SWill Pazner CEED_ELEMRESTRICTION_NONE[] = 2944554ea0SWill Pazner unsafe_load(cglobal((:CEED_ELEMRESTRICTION_NONE, libceed), CeedElemRestriction)) 3044554ea0SWill Pazner CEED_QFUNCTION_NONE[] = 3144554ea0SWill Pazner unsafe_load(cglobal((:CEED_QFUNCTION_NONE, libceed), CeedQFunction)) 3244554ea0SWill Pazner CEED_REQUEST_IMMEDIATE[] = 3344554ea0SWill Pazner unsafe_load(cglobal((:CEED_REQUEST_IMMEDIATE, libceed), Ptr{CeedRequest})) 3444554ea0SWill Pazner CEED_REQUEST_ORDERED[] = 3544554ea0SWill Pazner unsafe_load(cglobal((:CEED_REQUEST_ORDERED, libceed), Ptr{CeedRequest})) 3644554ea0SWill Paznerend 3744554ea0SWill Pazner 3844554ea0SWill Paznerend # module 39