LCOV - code coverage report
Current view: top level - shumate/vector - shumate-vector-expression-type.gperf (source / functions) Hit Total Coverage
Test: Code coverage Lines: 18 18 100.0 %
Date: 2024-05-11 21:41:31 Functions: 2 2 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 7 10 70.0 %

           Branch data     Line data    Source code
       1                 :            : %{
       2                 :            : #include "vector/shumate-vector-expression-type-private.h"
       3                 :            : #define EXACT(c) .expect_exprs = c, .expect_exprs_set = 1
       4                 :            : #define GE(c) .expect_ge_exprs = c, .expect_ge_exprs_set = 1
       5                 :            : #define LE(c) .expect_le_exprs = c, .expect_le_exprs_set = 1
       6                 :            : %}
       7                 :            : struct _ExprInfo
       8                 :            : {
       9                 :            :   /* Keep the struct definition in shumate-vector-expression-type-private.h
      10                 :            :     in sync! */
      11                 :            : 
      12                 :            :   const char *name;
      13                 :            :   ExprType type;
      14                 :            : 
      15                 :            :   int expect_exprs;
      16                 :            :   int expect_ge_exprs;
      17                 :            :   int expect_le_exprs;
      18                 :            : 
      19                 :            :   gboolean expect_exprs_set : 1;
      20                 :            :   gboolean expect_ge_exprs_set : 1;
      21                 :            :   gboolean expect_le_exprs_set : 1;
      22                 :            :   gboolean lookup_first_arg : 1;
      23                 :       1227 : };
      24                 :            : %%
      25                 :       1227 : collator, EXPR_COLLATOR
      26                 :            : format, EXPR_FORMAT
      27                 :            : image, EXPR_IMAGE, EXACT(1)
      28                 :            : literal, EXPR_TYPE_LITERAL, EXACT(1)
      29                 :            : to-boolean, EXPR_TO_BOOLEAN, EXACT(1)
      30                 :            : to-color, EXPR_TO_COLOR, GE(1)
      31                 :            : to-number, EXPR_TO_NUMBER, GE(1)
      32                 :            : to-string, EXPR_TO_STRING, EXACT(1)
      33                 :            : typeof, EXPR_TYPEOF, EXACT(1)
      34                 :            : geometry-type, EXPR_GEOMETRY_TYPE, EXACT(0)
      35                 :            : id, EXPR_ID, EXACT(0)
      36                 :            : at, EXPR_AT, EXACT(2)
      37                 :            : get, EXPR_GET, EXACT(1)
      38                 :            : has, EXPR_HAS, EXACT(1)
      39                 :            : !has, EXPR_NOT_HAS, EXACT(1)
      40                 :            : in, EXPR_IN, GE(1), .lookup_first_arg = TRUE
      41                 :            : !in, EXPR_NOT_IN, GE(1), .lookup_first_arg = TRUE
      42                 :            : index-of, EXPR_INDEX_OF, GE(2), LE(3)
      43                 :            : length, EXPR_LENGTH, EXACT(1)
      44                 :            : slice, EXPR_SLICE, GE(2), LE(3)
      45                 :            : !, EXPR_NOT, EXACT(1)
      46                 :            : !=, EXPR_NE, GE(2), LE(3), .lookup_first_arg = TRUE
      47                 :            : <, EXPR_LT, GE(2), LE(3), .lookup_first_arg = TRUE
      48                 :            : <=, EXPR_LE, GE(2), LE(3), .lookup_first_arg = TRUE
      49                 :            : ==, EXPR_EQ, GE(2), LE(3), .lookup_first_arg = TRUE
      50                 :            : >, EXPR_GT, GE(2), LE(3), .lookup_first_arg = TRUE
      51                 :            : >=, EXPR_GE, GE(2), LE(3), .lookup_first_arg = TRUE
      52                 :            : all, EXPR_ALL
      53                 :            : any, EXPR_ANY
      54                 :       1227 : none, EXPR_NONE
      55                 :            : case, EXPR_CASE
      56         [ +  + ]:       1227 : coalesce, EXPR_COALESCE
      57                 :            : match, EXPR_MATCH, GE(2)
      58                 :       1110 : interpolate, EXPR_INTERPOLATE
      59                 :       1110 : step, EXPR_STEP
      60                 :            : let, EXPR_LET
      61                 :       1227 : var, EXPR_VAR
      62                 :       1227 : concat, EXPR_CONCAT
      63                 :       1227 : downcase, EXPR_DOWNCASE, EXACT(1)
      64                 :            : resolved-locale, EXPR_RESOLVED_LOCALE
      65                 :       1227 : upcase, EXPR_UPCASE, EXACT(1)
      66                 :            : -, EXPR_SUB, GE(1), LE(2)
      67                 :            : *, EXPR_MUL, GE(1)
      68                 :            : /, EXPR_DIV, EXACT(2)
      69                 :       1227 : "%", EXPR_REM, EXACT(2)
      70                 :            : ^, EXPR_POW, EXACT(2)
      71                 :       1227 : +, EXPR_ADD, GE(1)
      72         [ +  - ]:       1227 : abs, EXPR_ABS, EXACT(1)
      73                 :            : acos, EXPR_ACOS, EXACT(1)
      74                 :       1227 : asin, EXPR_ASIN, EXACT(1)
      75                 :            : atan, EXPR_ATAN, EXACT(1)
      76         [ +  - ]:       1227 : ceil, EXPR_CEIL, EXACT(1)
      77                 :            : cos, EXPR_COS, EXACT(1)
      78                 :       1227 : e, EXPR_E, EXACT(0)
      79                 :            : floor, EXPR_FLOOR, EXACT(1)
      80   [ +  +  +  - ]:       1227 : ln, EXPR_LN, EXACT(1)
      81                 :       1224 : ln2, EXPR_LN2, EXACT(0)
      82                 :            : log10, EXPR_LOG10, EXACT(1)
      83                 :            : log2, EXPR_LOG2, EXACT(1)
      84                 :            : max, EXPR_MAX, GE(1)
      85                 :            : min, EXPR_MIN, GE(1)
      86                 :            : pi, EXPR_PI, EXACT(0)
      87                 :            : round, EXPR_ROUND, EXACT(1)
      88                 :            : sin, EXPR_SIN, EXACT(1)
      89                 :            : sqrt, EXPR_SQRT, EXACT(1)
      90                 :            : tan, EXPR_TAN, EXACT(1)
      91                 :            : zoom, EXPR_ZOOM

Generated by: LCOV version 1.14