LCOV - code coverage report
Current view: top level - pencil/include/geometry - geometry_3dir.inl (source / functions) Coverage Total Hit
Test: crystal-facet-uml_v1.63.2_covts Lines: 100.0 % 25 25
Test Date: 2025-05-01 10:10:14 Functions: 100.0 % 11 11

            Line data    Source code
       1              : /* File: geometry_3dir.inl; Copyright and License: see below */
       2              : 
       3              : #include "u8/u8_trace.h"
       4              : #include "u8/u8_log.h"
       5              : #include <assert.h>
       6              : 
       7           42 : static inline geometry_3dir_t geometry_3dir_new ( geometry_direction_t first,
       8              :                                                   geometry_direction_t second,
       9              :                                                   geometry_direction_t third )
      10              : {
      11           42 :     const geometry_3dir_t result = { .first = first, .second = second, .third = third };
      12           42 :     return result;
      13              : }
      14              : 
      15            1 : static inline bool geometry_3dir_equals ( const geometry_3dir_t *this_, const geometry_3dir_t *that )
      16              : {
      17            1 :     const bool result
      18            1 :         = (( (*this_).first == (*that).first )&&( (*this_).second == (*that).second )&&( (*this_).third == (*that).third ));
      19            1 :     return result;
      20              : }
      21              : 
      22            1 : static inline geometry_direction_t geometry_3dir_get_first ( const geometry_3dir_t *this_ )
      23              : {
      24            1 :     return (*this_).first;
      25              : }
      26              : 
      27            1 : static inline geometry_direction_t geometry_3dir_get_second ( const geometry_3dir_t *this_ )
      28              : {
      29            1 :     return (*this_).second;
      30              : }
      31              : 
      32            1 : static inline geometry_direction_t geometry_3dir_get_third ( const geometry_3dir_t *this_ )
      33              : {
      34            1 :     return (*this_).third;
      35              : }
      36              : 
      37           32 : static inline bool geometry_3dir_is_first_h ( const geometry_3dir_t *this_ )
      38              : {
      39           32 :     return ( (*this_).first == GEOMETRY_DIRECTION_LEFT )||( (*this_).first == GEOMETRY_DIRECTION_RIGHT );
      40              : }
      41              : 
      42           50 : static inline bool geometry_3dir_is_first_v ( const geometry_3dir_t *this_ )
      43              : {
      44           50 :     return ( (*this_).first == GEOMETRY_DIRECTION_UP )||( (*this_).first == GEOMETRY_DIRECTION_DOWN );
      45              : }
      46              : 
      47           32 : static inline bool geometry_3dir_is_second_h ( const geometry_3dir_t *this_ )
      48              : {
      49           32 :     return ( (*this_).second == GEOMETRY_DIRECTION_LEFT )||( (*this_).second == GEOMETRY_DIRECTION_RIGHT );
      50              : }
      51              : 
      52           50 : static inline bool geometry_3dir_is_second_v ( const geometry_3dir_t *this_ )
      53              : {
      54           50 :     return ( (*this_).second == GEOMETRY_DIRECTION_UP )||( (*this_).second == GEOMETRY_DIRECTION_DOWN );
      55              : }
      56              : 
      57           32 : static inline bool geometry_3dir_is_third_h ( const geometry_3dir_t *this_ )
      58              : {
      59           32 :     return ( (*this_).third == GEOMETRY_DIRECTION_LEFT )||( (*this_).third == GEOMETRY_DIRECTION_RIGHT );
      60              : }
      61              : 
      62           50 : static inline bool geometry_3dir_is_third_v ( const geometry_3dir_t *this_ )
      63              : {
      64           50 :     return ( (*this_).third == GEOMETRY_DIRECTION_UP )||( (*this_).third == GEOMETRY_DIRECTION_DOWN );
      65              : }
      66              : 
      67              : 
      68              : /*
      69              : Copyright 2021-2025 Andreas Warnke
      70              : 
      71              : Licensed under the Apache License, Version 2.0 (the "License");
      72              : you may not use this file except in compliance with the License.
      73              : You may obtain a copy of the License at
      74              : 
      75              :     http://www.apache.org/licenses/LICENSE-2.0
      76              : 
      77              : Unless required by applicable law or agreed to in writing, software
      78              : distributed under the License is distributed on an "AS IS" BASIS,
      79              : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      80              : See the License for the specific language governing permissions and
      81              : limitations under the License.
      82              : */
        

Generated by: LCOV version 2.0-1