LCOV - code coverage report
Current view: top level - fem/qfunctions/3 - h1_3_qf.h (source / functions) Coverage Total Hit
Test: Palace Coverage Report Lines: 100.0 % 12 12
Test Date: 2025-10-23 22:45:05 Functions: 100.0 % 1 1
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_H1_3_QF_H
       5              : #define PALACE_LIBCEED_H1_3_QF_H
       6              : 
       7              : #include "../coeff/coeff_3_qf.h"
       8              : 
       9        34853 : CEED_QFUNCTION(f_apply_h1_3)(void *__restrict__ ctx, CeedInt Q, const CeedScalar *const *in,
      10              :                              CeedScalar *const *out)
      11              : {
      12        34853 :   const CeedScalar *attr = in[0], *wdetJ = in[0] + Q, *u = in[1];
      13        34853 :   CeedScalar *v = out[0];
      14              : 
      15      7828765 :   CeedPragmaSIMD for (CeedInt i = 0; i < Q; i++)
      16              :   {
      17              :     CeedScalar coeff[9];
      18      7793912 :     CoeffUnpack3((const CeedIntScalar *)ctx, (CeedInt)attr[i], coeff);
      19              : 
      20      7793912 :     const CeedScalar u0 = u[i + Q * 0];
      21      7793912 :     const CeedScalar u1 = u[i + Q * 1];
      22      7793912 :     const CeedScalar u2 = u[i + Q * 2];
      23      7793912 :     v[i + Q * 0] = wdetJ[i] * (coeff[0] * u0 + coeff[3] * u1 + coeff[6] * u2);
      24      7793912 :     v[i + Q * 1] = wdetJ[i] * (coeff[1] * u0 + coeff[4] * u1 + coeff[7] * u2);
      25      7793912 :     v[i + Q * 2] = wdetJ[i] * (coeff[2] * u0 + coeff[5] * u1 + coeff[8] * u2);
      26              :   }
      27        34853 :   return 0;
      28              : }
      29              : 
      30              : #endif  // PALACE_LIBCEED_H1_3_QF_H
        

Generated by: LCOV version 2.0-1