LCOV - code coverage report
Current view: top level - fem/qfunctions/33 - hdivmass_build_33_qf.h (source / functions) Coverage Total Hit
Test: Palace Coverage Report Lines: 0.0 % 26 0
Test Date: 2025-10-23 22:45:05 Functions: 0.0 % 1 0
Legend: Lines: hit not hit

            Line data    Source code
       1              : // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
       2              : // SPDX-License-Identifier: Apache-2.0
       3              : 
       4              : #ifndef PALACE_LIBCEED_HDIV_MASS_BUILD_33_QF_H
       5              : #define PALACE_LIBCEED_HDIV_MASS_BUILD_33_QF_H
       6              : 
       7              : #include "../coeff/coeff_3_qf.h"
       8              : #include "utils_33_qf.h"
       9              : 
      10            0 : CEED_QFUNCTION(f_build_hdivmass_33)(void *__restrict__ ctx, CeedInt Q,
      11              :                                     const CeedScalar *const *in, CeedScalar *const *out)
      12              : {
      13            0 :   const CeedScalar *attr = in[0], *wdetJ = in[0] + Q, *adjJt = in[0] + 2 * Q;
      14            0 :   CeedScalar *__restrict__ qd1 = out[0], *__restrict__ qd2 = out[0] + 9 * Q;
      15              : 
      16            0 :   CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++)
      17              :   {
      18              :     CeedScalar adjJt_loc[9];
      19            0 :     MatUnpack33(adjJt + i, Q, adjJt_loc);
      20              :     {
      21              :       CeedScalar coeff[9], qd_loc[9];
      22            0 :       CoeffUnpack3((const CeedIntScalar *)ctx, (CeedInt)attr[i], coeff);
      23              :       MultAtBA33(adjJt_loc, coeff, qd_loc);
      24              : 
      25            0 :       qd1[i + Q * 0] = wdetJ[i] * qd_loc[0];
      26            0 :       qd1[i + Q * 1] = wdetJ[i] * qd_loc[1];
      27            0 :       qd1[i + Q * 2] = wdetJ[i] * qd_loc[2];
      28            0 :       qd1[i + Q * 3] = wdetJ[i] * qd_loc[3];
      29            0 :       qd1[i + Q * 4] = wdetJ[i] * qd_loc[4];
      30            0 :       qd1[i + Q * 5] = wdetJ[i] * qd_loc[5];
      31            0 :       qd1[i + Q * 6] = wdetJ[i] * qd_loc[6];
      32            0 :       qd1[i + Q * 7] = wdetJ[i] * qd_loc[7];
      33            0 :       qd1[i + Q * 8] = wdetJ[i] * qd_loc[8];
      34              :     }
      35              :     {
      36              :       CeedScalar coeff[9], J_loc[9], qd_loc[9];
      37            0 :       CoeffUnpack3(CoeffPairSecond<3>((const CeedIntScalar *)ctx), (CeedInt)attr[i], coeff);
      38              :       AdjJt33(adjJt_loc, J_loc);
      39              :       MultAtBA33(J_loc, coeff, qd_loc);
      40              : 
      41            0 :       qd2[i + Q * 0] = wdetJ[i] * qd_loc[0];
      42            0 :       qd2[i + Q * 1] = wdetJ[i] * qd_loc[1];
      43            0 :       qd2[i + Q * 2] = wdetJ[i] * qd_loc[2];
      44            0 :       qd2[i + Q * 3] = wdetJ[i] * qd_loc[3];
      45            0 :       qd2[i + Q * 4] = wdetJ[i] * qd_loc[4];
      46            0 :       qd2[i + Q * 5] = wdetJ[i] * qd_loc[5];
      47            0 :       qd2[i + Q * 6] = wdetJ[i] * qd_loc[6];
      48            0 :       qd2[i + Q * 7] = wdetJ[i] * qd_loc[7];
      49            0 :       qd2[i + Q * 8] = wdetJ[i] * qd_loc[8];
      50              :     }
      51              :   }
      52            0 :   return 0;
      53              : }
      54              : 
      55              : #endif  // PALACE_LIBCEED_HDIV_MASS_BUILD_33_QF_H
        

Generated by: LCOV version 2.0-1