| ceed-basis.c (ad6481ce28fcfada16ee6d8a13bbacd137fe686a) | ceed-basis.c (ecc88aeb6e47c91d01ac230341895a796d10ab95) |
|---|---|
| 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#include <ceed-impl.h> --- 889 unchanged lines hidden (view full) --- 898 @return An error code: 0 - success, otherwise - failure 899 900 @ref User 901**/ 902int CeedBasisCreateProjection(CeedBasis basis_from, CeedBasis basis_to, CeedBasis *basis_project) { 903 Ceed ceed; 904 CeedCall(CeedBasisGetCeed(basis_to, &ceed)); 905 | 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#include <ceed-impl.h> --- 889 unchanged lines hidden (view full) --- 898 @return An error code: 0 - success, otherwise - failure 899 900 @ref User 901**/ 902int CeedBasisCreateProjection(CeedBasis basis_from, CeedBasis basis_to, CeedBasis *basis_project) { 903 Ceed ceed; 904 CeedCall(CeedBasisGetCeed(basis_to, &ceed)); 905 |
| 906 // Create projectior matrix | 906 // Create projection matrix |
| 907 CeedScalar *interp_project, *grad_project; 908 CeedCall(CeedBasisCreateProjectionMatrices(basis_from, basis_to, &interp_project, &grad_project)); 909 910 // Build basis 911 bool is_tensor; 912 CeedInt dim, num_comp; 913 CeedScalar *q_ref, *q_weight; 914 CeedCall(CeedBasisIsTensor(basis_to, &is_tensor)); --- 484 unchanged lines hidden (view full) --- 1399 1400 @param[in,out] basis CeedBasis to destroy 1401 1402 @return An error code: 0 - success, otherwise - failure 1403 1404 @ref User 1405**/ 1406int CeedBasisDestroy(CeedBasis *basis) { | 907 CeedScalar *interp_project, *grad_project; 908 CeedCall(CeedBasisCreateProjectionMatrices(basis_from, basis_to, &interp_project, &grad_project)); 909 910 // Build basis 911 bool is_tensor; 912 CeedInt dim, num_comp; 913 CeedScalar *q_ref, *q_weight; 914 CeedCall(CeedBasisIsTensor(basis_to, &is_tensor)); --- 484 unchanged lines hidden (view full) --- 1399 1400 @param[in,out] basis CeedBasis to destroy 1401 1402 @return An error code: 0 - success, otherwise - failure 1403 1404 @ref User 1405**/ 1406int CeedBasisDestroy(CeedBasis *basis) { |
| 1407 if (!*basis || --(*basis)->ref_count > 0) { 1408 *basis = NULL; 1409 return CEED_ERROR_SUCCESS; 1410 } | 1407 if (!*basis || --(*basis)->ref_count > 0) return CEED_ERROR_SUCCESS; |
| 1411 if ((*basis)->Destroy) CeedCall((*basis)->Destroy(*basis)); 1412 if ((*basis)->contract) CeedCall(CeedTensorContractDestroy(&(*basis)->contract)); 1413 CeedCall(CeedFree(&(*basis)->interp)); 1414 CeedCall(CeedFree(&(*basis)->interp_1d)); 1415 CeedCall(CeedFree(&(*basis)->grad)); 1416 CeedCall(CeedFree(&(*basis)->div)); 1417 CeedCall(CeedFree(&(*basis)->grad_1d)); 1418 CeedCall(CeedFree(&(*basis)->q_ref_1d)); --- 416 unchanged lines hidden --- | 1408 if ((*basis)->Destroy) CeedCall((*basis)->Destroy(*basis)); 1409 if ((*basis)->contract) CeedCall(CeedTensorContractDestroy(&(*basis)->contract)); 1410 CeedCall(CeedFree(&(*basis)->interp)); 1411 CeedCall(CeedFree(&(*basis)->interp_1d)); 1412 CeedCall(CeedFree(&(*basis)->grad)); 1413 CeedCall(CeedFree(&(*basis)->div)); 1414 CeedCall(CeedFree(&(*basis)->grad_1d)); 1415 CeedCall(CeedFree(&(*basis)->q_ref_1d)); --- 416 unchanged lines hidden --- |