ceed-operator.c (be301fac98d34690f0baddc646699b7c1181eb74) ceed-operator.c (db002c03923317a1c3814dcd861330002c00a8ea)
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>

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

530
531 CeedCall(CeedGetObjectDelegate(ceed, &delegate, "Operator"));
532 CeedCheck(delegate, ceed, CEED_ERROR_UNSUPPORTED, "Backend does not support OperatorCreate");
533 CeedCall(CeedOperatorCreate(delegate, qf, dqf, dqfT, op));
534 return CEED_ERROR_SUCCESS;
535 }
536
537 CeedCheck(qf && qf != CEED_QFUNCTION_NONE, ceed, CEED_ERROR_MINOR, "Operator must have a valid QFunction.");
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>

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

530
531 CeedCall(CeedGetObjectDelegate(ceed, &delegate, "Operator"));
532 CeedCheck(delegate, ceed, CEED_ERROR_UNSUPPORTED, "Backend does not support OperatorCreate");
533 CeedCall(CeedOperatorCreate(delegate, qf, dqf, dqfT, op));
534 return CEED_ERROR_SUCCESS;
535 }
536
537 CeedCheck(qf && qf != CEED_QFUNCTION_NONE, ceed, CEED_ERROR_MINOR, "Operator must have a valid QFunction.");
538
538 CeedCall(CeedCalloc(1, op));
539 CeedCall(CeedCalloc(1, op));
539 (*op)->ceed = ceed;
540 CeedCall(CeedReference(ceed));
540 CeedCall(CeedReferenceCopy(ceed, &(*op)->ceed));
541 (*op)->ref_count = 1;
541 (*op)->ref_count = 1;
542 (*op)->qf = qf;
543 (*op)->input_size = -1;
544 (*op)->output_size = -1;
542 (*op)->input_size = -1;
543 (*op)->output_size = -1;
545 CeedCall(CeedQFunctionReference(qf));
546 if (dqf && dqf != CEED_QFUNCTION_NONE) {
547 (*op)->dqf = dqf;
548 CeedCall(CeedQFunctionReference(dqf));
549 }
550 if (dqfT && dqfT != CEED_QFUNCTION_NONE) {
551 (*op)->dqfT = dqfT;
552 CeedCall(CeedQFunctionReference(dqfT));
553 }
544 CeedCall(CeedQFunctionReferenceCopy(qf, &(*op)->qf));
545 if (dqf && dqf != CEED_QFUNCTION_NONE) CeedCall(CeedQFunctionReferenceCopy(dqf, &(*op)->dqf));
546 if (dqfT && dqfT != CEED_QFUNCTION_NONE) CeedCall(CeedQFunctionReferenceCopy(dqfT, &(*op)->dqfT));
554 CeedCall(CeedQFunctionAssemblyDataCreate(ceed, &(*op)->qf_assembled));
555 CeedCall(CeedCalloc(CEED_FIELD_MAX, &(*op)->input_fields));
556 CeedCall(CeedCalloc(CEED_FIELD_MAX, &(*op)->output_fields));
557 CeedCall(ceed->OperatorCreate(*op));
558 return CEED_ERROR_SUCCESS;
559}
560
561/**

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

575
576 if (delegate) {
577 CeedCall(CeedCompositeOperatorCreate(delegate, op));
578 return CEED_ERROR_SUCCESS;
579 }
580 }
581
582 CeedCall(CeedCalloc(1, op));
547 CeedCall(CeedQFunctionAssemblyDataCreate(ceed, &(*op)->qf_assembled));
548 CeedCall(CeedCalloc(CEED_FIELD_MAX, &(*op)->input_fields));
549 CeedCall(CeedCalloc(CEED_FIELD_MAX, &(*op)->output_fields));
550 CeedCall(ceed->OperatorCreate(*op));
551 return CEED_ERROR_SUCCESS;
552}
553
554/**

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

568
569 if (delegate) {
570 CeedCall(CeedCompositeOperatorCreate(delegate, op));
571 return CEED_ERROR_SUCCESS;
572 }
573 }
574
575 CeedCall(CeedCalloc(1, op));
583 (*op)->ceed = ceed;
584 CeedCall(CeedReference(ceed));
576 CeedCall(CeedReferenceCopy(ceed, &(*op)->ceed));
585 (*op)->ref_count = 1;
586 (*op)->is_composite = true;
587 CeedCall(CeedCalloc(CEED_COMPOSITE_MAX, &(*op)->sub_operators));
588 (*op)->input_size = -1;
589 (*op)->output_size = -1;
590
577 (*op)->ref_count = 1;
578 (*op)->is_composite = true;
579 CeedCall(CeedCalloc(CEED_COMPOSITE_MAX, &(*op)->sub_operators));
580 (*op)->input_size = -1;
581 (*op)->output_size = -1;
582
591 if (ceed->CompositeOperatorCreate) {
592 CeedCall(ceed->CompositeOperatorCreate(*op));
593 }
583 if (ceed->CompositeOperatorCreate) CeedCall(ceed->CompositeOperatorCreate(*op));
594 return CEED_ERROR_SUCCESS;
595}
596
597/**
598 @brief Copy the pointer to a CeedOperator.
599
600 Both pointers should be destroyed with `CeedOperatorDestroy()`.
601

--- 1032 unchanged lines hidden ---
584 return CEED_ERROR_SUCCESS;
585}
586
587/**
588 @brief Copy the pointer to a CeedOperator.
589
590 Both pointers should be destroyed with `CeedOperatorDestroy()`.
591

--- 1032 unchanged lines hidden ---