@@ -150,6 +150,7 @@ typedef struct CeedOperator_private *CeedOperator;
150150
151151CEED_EXTERN int CeedRegistryGetList (size_t * n , char * * * const resources , CeedInt * * array );
152152CEED_EXTERN int CeedInit (const char * resource , Ceed * ceed );
153+ CEED_EXTERN int CeedReferenceCopy (Ceed ceed , Ceed * ceed_copy );
153154CEED_EXTERN int CeedGetResource (Ceed ceed , const char * * resource );
154155CEED_EXTERN int CeedIsDeterministic (Ceed ceed , bool * is_deterministic );
155156CEED_EXTERN int CeedView (Ceed ceed , FILE * stream );
@@ -304,6 +305,7 @@ typedef enum {
304305CEED_EXTERN const char * const CeedCopyModes [];
305306
306307CEED_EXTERN int CeedVectorCreate (Ceed ceed , CeedInt len , CeedVector * vec );
308+ CEED_EXTERN int CeedVectorReferenceCopy (CeedVector vec , CeedVector * vec_copy );
307309CEED_EXTERN int CeedVectorSetArray (CeedVector vec , CeedMemType mem_type ,
308310 CeedCopyMode copy_mode , CeedScalar * array );
309311CEED_EXTERN int CeedVectorSetValue (CeedVector vec , CeedScalar value );
@@ -386,6 +388,8 @@ CEED_EXTERN int CeedElemRestrictionCreateBlocked(Ceed ceed, CeedInt num_elem,
386388CEED_EXTERN int CeedElemRestrictionCreateBlockedStrided (Ceed ceed ,
387389 CeedInt num_elem , CeedInt elem_size , CeedInt blk_size , CeedInt num_comp ,
388390 CeedInt l_size , const CeedInt strides [3 ], CeedElemRestriction * rstr );
391+ CEED_EXTERN int CeedElemRestrictionReferenceCopy (CeedElemRestriction rstr ,
392+ CeedElemRestriction * rstr_copy );
389393CEED_EXTERN int CeedElemRestrictionCreateVector (CeedElemRestriction rstr ,
390394 CeedVector * lvec , CeedVector * evec );
391395CEED_EXTERN int CeedElemRestrictionApply (CeedElemRestriction rstr ,
@@ -489,6 +493,7 @@ CEED_EXTERN int CeedBasisCreateH1(Ceed ceed, CeedElemTopology topo,
489493 const CeedScalar * grad ,
490494 const CeedScalar * q_ref ,
491495 const CeedScalar * q_weights , CeedBasis * basis );
496+ CEED_EXTERN int CeedBasisReferenceCopy (CeedBasis basis , CeedBasis * basis_copy );
492497CEED_EXTERN int CeedBasisView (CeedBasis basis , FILE * stream );
493498CEED_EXTERN int CeedBasisApply (CeedBasis basis , CeedInt num_elem ,
494499 CeedTransposeMode t_mode ,
@@ -554,6 +559,7 @@ CEED_EXTERN int CeedQFunctionCreateInteriorByName(Ceed ceed, const char *name,
554559 CeedQFunction * qf );
555560CEED_EXTERN int CeedQFunctionCreateIdentity (Ceed ceed , CeedInt size ,
556561 CeedEvalMode in_mode , CeedEvalMode out_mode , CeedQFunction * qf );
562+ CEED_EXTERN int CeedQFunctionReferenceCopy (CeedQFunction qf , CeedQFunction * qf_copy );
557563CEED_EXTERN int CeedQFunctionAddInput (CeedQFunction qf , const char * field_name ,
558564 CeedInt size , CeedEvalMode eval_mode );
559565CEED_EXTERN int CeedQFunctionAddOutput (CeedQFunction qf , const char * field_name ,
@@ -567,6 +573,8 @@ CEED_EXTERN int CeedQFunctionDestroy(CeedQFunction *qf);
567573
568574CEED_EXTERN int CeedQFunctionContextCreate (Ceed ceed ,
569575 CeedQFunctionContext * ctx );
576+ CEED_EXTERN int CeedQFunctionContextReferenceCopy (CeedQFunctionContext ctx ,
577+ CeedQFunctionContext * ctx_copy );
570578CEED_EXTERN int CeedQFunctionContextSetData (CeedQFunctionContext ctx ,
571579 CeedMemType mem_type , CeedCopyMode copy_mode , size_t size , void * data );
572580CEED_EXTERN int CeedQFunctionContextGetData (CeedQFunctionContext ctx ,
@@ -582,6 +590,7 @@ CEED_EXTERN int CeedOperatorCreate(Ceed ceed, CeedQFunction qf,
582590 CeedQFunction dqf , CeedQFunction dqfT ,
583591 CeedOperator * op );
584592CEED_EXTERN int CeedCompositeOperatorCreate (Ceed ceed , CeedOperator * op );
593+ CEED_EXTERN int CeedOperatorReferenceCopy (CeedOperator op , CeedOperator * op_copy );
585594CEED_EXTERN int CeedOperatorSetField (CeedOperator op , const char * field_name ,
586595 CeedElemRestriction r , CeedBasis b ,
587596 CeedVector v );
0 commit comments