backend.h (1c66c397a67401e1a222857807e6e5b7c45b88c0) backend.h (bb229da952f7e9779ba6cb3cd1ca2ebeac5feb1f)
1// Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
2// All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3//
4// SPDX-License-Identifier: BSD-2-Clause
5//
6// This file is part of CEED: http://github.com/ceed
7
8/// @file

--- 208 unchanged lines hidden (view full) ---

217CEED_EXTERN int CeedGetParent(Ceed ceed, Ceed *parent);
218CEED_EXTERN int CeedGetDelegate(Ceed ceed, Ceed *delegate);
219CEED_EXTERN int CeedSetDelegate(Ceed ceed, Ceed delegate);
220CEED_EXTERN int CeedGetObjectDelegate(Ceed ceed, Ceed *delegate, const char *obj_name);
221CEED_EXTERN int CeedSetObjectDelegate(Ceed ceed, Ceed delegate, const char *obj_name);
222CEED_EXTERN int CeedGetOperatorFallbackResource(Ceed ceed, const char **resource);
223CEED_EXTERN int CeedGetOperatorFallbackCeed(Ceed ceed, Ceed *fallback_ceed);
224CEED_EXTERN int CeedSetOperatorFallbackResource(Ceed ceed, const char *resource);
1// Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
2// All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3//
4// SPDX-License-Identifier: BSD-2-Clause
5//
6// This file is part of CEED: http://github.com/ceed
7
8/// @file

--- 208 unchanged lines hidden (view full) ---

217CEED_EXTERN int CeedGetParent(Ceed ceed, Ceed *parent);
218CEED_EXTERN int CeedGetDelegate(Ceed ceed, Ceed *delegate);
219CEED_EXTERN int CeedSetDelegate(Ceed ceed, Ceed delegate);
220CEED_EXTERN int CeedGetObjectDelegate(Ceed ceed, Ceed *delegate, const char *obj_name);
221CEED_EXTERN int CeedSetObjectDelegate(Ceed ceed, Ceed delegate, const char *obj_name);
222CEED_EXTERN int CeedGetOperatorFallbackResource(Ceed ceed, const char **resource);
223CEED_EXTERN int CeedGetOperatorFallbackCeed(Ceed ceed, Ceed *fallback_ceed);
224CEED_EXTERN int CeedSetOperatorFallbackResource(Ceed ceed, const char *resource);
225CEED_EXTERN int CeedGetOperatorFallbackParentCeed(Ceed ceed, Ceed *parent);
226CEED_EXTERN int CeedSetDeterministic(Ceed ceed, bool is_deterministic);
227CEED_EXTERN int CeedSetBackendFunction(Ceed ceed, const char *type, void *object, const char *func_name, int (*f)());
228CEED_EXTERN int CeedGetData(Ceed ceed, void *data);
229CEED_EXTERN int CeedSetData(Ceed ceed, void *data);
230CEED_EXTERN int CeedReference(Ceed ceed);
231
232CEED_EXTERN int CeedVectorHasValidArray(CeedVector vec, bool *has_valid_array);
233CEED_EXTERN int CeedVectorHasBorrowedArrayOfType(CeedVector vec, CeedMemType mem_type, bool *has_borrowed_array_of_type);

--- 142 unchanged lines hidden (view full) ---

376CEED_EXTERN int CeedOperatorGetActiveElemRestriction(CeedOperator op, CeedElemRestriction *active_rstr);
377CEED_EXTERN int CeedOperatorGetNumArgs(CeedOperator op, CeedInt *num_args);
378CEED_EXTERN int CeedOperatorIsSetupDone(CeedOperator op, bool *is_setup_done);
379CEED_EXTERN int CeedOperatorGetQFunction(CeedOperator op, CeedQFunction *qf);
380CEED_EXTERN int CeedOperatorIsComposite(CeedOperator op, bool *is_composite);
381CEED_EXTERN int CeedOperatorGetData(CeedOperator op, void *data);
382CEED_EXTERN int CeedOperatorSetData(CeedOperator op, void *data);
383CEED_EXTERN int CeedOperatorReference(CeedOperator op);
225CEED_EXTERN int CeedSetDeterministic(Ceed ceed, bool is_deterministic);
226CEED_EXTERN int CeedSetBackendFunction(Ceed ceed, const char *type, void *object, const char *func_name, int (*f)());
227CEED_EXTERN int CeedGetData(Ceed ceed, void *data);
228CEED_EXTERN int CeedSetData(Ceed ceed, void *data);
229CEED_EXTERN int CeedReference(Ceed ceed);
230
231CEED_EXTERN int CeedVectorHasValidArray(CeedVector vec, bool *has_valid_array);
232CEED_EXTERN int CeedVectorHasBorrowedArrayOfType(CeedVector vec, CeedMemType mem_type, bool *has_borrowed_array_of_type);

--- 142 unchanged lines hidden (view full) ---

375CEED_EXTERN int CeedOperatorGetActiveElemRestriction(CeedOperator op, CeedElemRestriction *active_rstr);
376CEED_EXTERN int CeedOperatorGetNumArgs(CeedOperator op, CeedInt *num_args);
377CEED_EXTERN int CeedOperatorIsSetupDone(CeedOperator op, bool *is_setup_done);
378CEED_EXTERN int CeedOperatorGetQFunction(CeedOperator op, CeedQFunction *qf);
379CEED_EXTERN int CeedOperatorIsComposite(CeedOperator op, bool *is_composite);
380CEED_EXTERN int CeedOperatorGetData(CeedOperator op, void *data);
381CEED_EXTERN int CeedOperatorSetData(CeedOperator op, void *data);
382CEED_EXTERN int CeedOperatorReference(CeedOperator op);
383CEED_EXTERN int CeedOperatorGetFallback(CeedOperator op, CeedOperator *op_fallback);
384CEED_EXTERN int CeedOperatorGetFallbackParent(CeedOperator op, CeedOperator *parent);
385CEED_EXTERN int CeedOperatorGetFallbackParentCeed(CeedOperator op, Ceed *parent);
384CEED_EXTERN int CeedOperatorSetSetupDone(CeedOperator op);
385
386CEED_INTERN int CeedMatrixMatrixMultiply(Ceed ceed, const CeedScalar *mat_A, const CeedScalar *mat_B, CeedScalar *mat_C, CeedInt m, CeedInt n,
387 CeedInt kk);
388CEED_EXTERN int CeedQRFactorization(Ceed ceed, CeedScalar *mat, CeedScalar *tau, CeedInt m, CeedInt n);
389CEED_EXTERN int CeedHouseholderApplyQ(CeedScalar *mat_A, const CeedScalar *mat_Q, const CeedScalar *tau, CeedTransposeMode t_mode, CeedInt m,
390 CeedInt n, CeedInt k, CeedInt row, CeedInt col);
391CEED_EXTERN int CeedSymmetricSchurDecomposition(Ceed ceed, CeedScalar *mat, CeedScalar *lambda, CeedInt n);
392CEED_EXTERN int CeedSimultaneousDiagonalization(Ceed ceed, CeedScalar *mat_A, CeedScalar *mat_B, CeedScalar *x, CeedScalar *lambda, CeedInt n);
393
394#endif
386CEED_EXTERN int CeedOperatorSetSetupDone(CeedOperator op);
387
388CEED_INTERN int CeedMatrixMatrixMultiply(Ceed ceed, const CeedScalar *mat_A, const CeedScalar *mat_B, CeedScalar *mat_C, CeedInt m, CeedInt n,
389 CeedInt kk);
390CEED_EXTERN int CeedQRFactorization(Ceed ceed, CeedScalar *mat, CeedScalar *tau, CeedInt m, CeedInt n);
391CEED_EXTERN int CeedHouseholderApplyQ(CeedScalar *mat_A, const CeedScalar *mat_Q, const CeedScalar *tau, CeedTransposeMode t_mode, CeedInt m,
392 CeedInt n, CeedInt k, CeedInt row, CeedInt col);
393CEED_EXTERN int CeedSymmetricSchurDecomposition(Ceed ceed, CeedScalar *mat, CeedScalar *lambda, CeedInt n);
394CEED_EXTERN int CeedSimultaneousDiagonalization(Ceed ceed, CeedScalar *mat_A, CeedScalar *mat_B, CeedScalar *x, CeedScalar *lambda, CeedInt n);
395
396#endif